欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

redis lettuce連接池經(jīng)常出現(xiàn)連接拒絕(Connection refused)問題解決

 更新時間:2025年03月06日 09:20:54   作者:青龍老賊  
本文主要介紹了在Windows 10/11系統(tǒng)中使用Spring Boot和Lettuce連接池訪問Redis時,遇到的連接拒絕問題,下面就來介紹一下解決方法,感興趣的可以了解一下

一.軟件環(huán)境

windows10、11系統(tǒng)、springboot2.x、redis 6 7

linux(centos)系統(tǒng)沒有出現(xiàn)這問題,如果你是linux系統(tǒng)碰到的,本文也有一定大參考價值。

根本思路就是:tcp/ip連接的?;?keepalive)。

二.問題描述

在springboot項目中使用了lettuce作為redis的連接池,在本地開發(fā)環(huán)境windows系統(tǒng)中,隔5分鐘不操作,再次需要訪問redis時,從連接池獲取一個連接去操作redis就會出現(xiàn)連接拒絕,一般直到取完max-idle(最大空閑連接數(shù))所有連接都是連接拒絕,直到開始創(chuàng)建新的連接,才能連接上redis。

三.問題分析

測試環(huán)境(linux)連的是同一個redis服務,卻沒有出現(xiàn)這樣的問題。

之前也試著從連接池配置去解決問題,然并卵。。。

    lettuce:
      pool:
        # 連接池最大連接數(shù)(使用負值表示沒有限制)
        max-active: 8
        # 連接池最大阻塞等待時間(使用負值表示沒有限制)
        max-wait: 1
        # 連接池中的最大空閑連接
        max-idle: 8
        # 連接池中的最小空閑連接
        min-idle: 0
      cluster:
        refresh:
          adaptive: true
          #20秒自動刷新一次
          period: 20

也試過網(wǎng)上說的各種方法都沒有效果。

后面想著,既然在linux系統(tǒng)中運行沒問題,windows系統(tǒng)有問題,在其它條件相同的情況下,那就只有操作系統(tǒng)的差異了。

那就可能是兩個系統(tǒng)維護tcp/ip的方式的不同了,因為連接池中的連接,本質(zhì)上就是一個個tcp/ip連接,要想讓連接?;?,服務端和客戶端,至少得有一方去做?;睿╧eepalive)操作。

為什么是隔5分鐘不操作,就必然出現(xiàn)redis連接拒絕呢?于是在redis配置文件中搜索“keepalive”發(fā)現(xiàn)tcp-keepalive配置,默認300s,這不正好5分鐘嗎?該配置是服務端每隔300秒檢查一下客戶端連接,如果可以連通,則讓連接保活,如果連不通了,則將連接銷毀。

那么導致redis服務端做?;畈僮骱?,redis連接就不可用了,應該就是windows系統(tǒng)在這5分鐘內(nèi),將tcp/ip連接給干掉了,導致redis服務端連接不到就把連接干掉了,而lettuce并不知道連接已經(jīng)斷開了,當有請求需要連接redis時,就從lettuce中拿一個已經(jīng)被服務端斷開連接去操作redis,于是就得到了連接拒絕的響應。

四.解決方案

方案 1:減少redis服務端配置文檔的tcp-keepalive的間隔時間,將上圖中的設置改為60后,重啟服務,經(jīng)過測試就沒有連接拒絕的問題了。

方案2:增加windows系統(tǒng)的tcp/ip連接的存活時間,但是這個修改過幾個配置,好像沒有效,也有說法是防火墻、殺毒軟件的防護策略等管理著tcp/ip的存活時間。如不可用,建議直接使用方案1。

到此這篇關于redis lettuce連接池經(jīng)常出現(xiàn)連接拒絕(Connection refused)問題解決的文章就介紹到這了,更多相關redis lettuce連接池連接拒絕內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 深入理解redis_memcached失效原理(小結)

    深入理解redis_memcached失效原理(小結)

    這篇文章主要介紹了深入理解redis_memcached失效原理(小結),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • RedisTemplate常用方法大全(面試必備)

    RedisTemplate常用方法大全(面試必備)

    RedisTemplate是SpringData Redis提供的一個類,本文主要介紹了RedisTemplate常用方法大全,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • redis刪除指定key的實現(xiàn)步驟

    redis刪除指定key的實現(xiàn)步驟

    本文主要介紹了redis刪除指定key的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Redis性能監(jiān)控的實現(xiàn)

    Redis性能監(jiān)控的實現(xiàn)

    本文使用 redis_exporter + prometheus +grafana 實現(xiàn)對Redis服務進行監(jiān)控,原因:成本低,人工干預少,感興趣的可以了解一下
    2021-07-07
  • Redis突現(xiàn)拒絕連接問題處理方案

    Redis突現(xiàn)拒絕連接問題處理方案

    這篇文章主要介紹了Redis突現(xiàn)拒絕連接問題處理方案,分析原因是由于redis與業(yè)務共一個服務器,內(nèi)存只有8G,業(yè)務服務啟動過多,內(nèi)存不足導致redis拒絕連接,需要的朋友可以參考下
    2024-02-02
  • Linux、Windows下Redis的安裝即Redis的基本使用詳解

    Linux、Windows下Redis的安裝即Redis的基本使用詳解

    Redis是一個基于內(nèi)存的key-value結構數(shù)據(jù)庫,Redis 是互聯(lián)網(wǎng)技術領域使用最為廣泛的存儲中間件,這篇文章主要介紹了Linux、Windows下Redis的安裝即Redis的基本使用詳解,需要的朋友可以參考下
    2022-09-09
  • Redis為什么默認有16個數(shù)據(jù)庫問題

    Redis為什么默認有16個數(shù)據(jù)庫問題

    這篇文章主要介紹了Redis為什么默認有16個數(shù)據(jù)庫問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 一文搞懂Redis中String數(shù)據(jù)類型

    一文搞懂Redis中String數(shù)據(jù)類型

    string 是 redis 最基本的類型,你可以理解成與 Memcached 一模一樣的類型,一個 key 對應一個 value。今天通過本文給大家介紹下Redis中String數(shù)據(jù)類型,感興趣的朋友一起看看吧
    2022-04-04
  • Redis安全策略詳解

    Redis安全策略詳解

    緩存穿透是指當用戶在查詢一條數(shù)據(jù)的時候,而此時數(shù)據(jù)庫和緩存卻沒有關于這條數(shù)據(jù)的任何記錄,而這條數(shù)據(jù)在緩存中沒找到就會向數(shù)據(jù)庫請求獲取數(shù)據(jù)。用戶拿不到數(shù)據(jù)時,就會一直發(fā)請求,查詢數(shù)據(jù)庫,這樣會對數(shù)據(jù)庫的訪問造成很大的壓力
    2022-07-07
  • Redis實現(xiàn)短信登錄的企業(yè)實戰(zhàn)

    Redis實現(xiàn)短信登錄的企業(yè)實戰(zhàn)

    本文主要介紹了Redis實現(xiàn)短信登錄的企業(yè)實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07

最新評論