最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot 啟動報錯Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379問題的解決方案

 更新時間:2024年10月09日 11:51:04   作者:有來技術(shù)  
這篇文章主要介紹了SpringBoot 啟動報錯Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379問題的解決方案,文中通過圖文結(jié)合的方式給大家講解的非常詳細(xì),對大家解決問題有一定的幫助,需要的朋友可以參考下

問題描述

使用開源項目 youlai-boot 中,使用默認(rèn)線上配置沒問題的,但將 Redis 的修改為本地的環(huán)境出現(xiàn)無法連接的錯誤

啟動項目報錯關(guān)鍵信息:

org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379

稍微完整的錯誤信息:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'securityConfig' defined in file [D:\Project\Work\youlai-boot\target\classes\com\youlai\system\config\SecurityConfig.class]: Unsatisfied dependency expressed through constructor parameter 2: Error creating bean with name 'redisTemplate' defined in class path resource [com/youlai/system/config/RedisConfig.class]: Unsatisfied dependency expressed through method 'redisTemplate' parameter 0: Error creating bean with name 'redissonConnectionFactory' defined in class path resource [org/redisson/spring/starter/RedissonAutoConfigurationV2.class]: Unsatisfied dependency expressed through method 'redissonConnectionFactory' parameter 0: Error creating bean with name 'redisson' defined in class path resource [org/redisson/spring/starter/RedissonAutoConfigurationV2.class]: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redisson' threw exception with message: java.util.concurrent.ExecutionException: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379

錯誤截圖:

image-20240529175344056

原因分析

再看下修改前后的對比圖

線上 Redis 服務(wù)配置了密碼,而本地 Redis 服務(wù)沒有密碼,因此我們理所當(dāng)然地將 password 的值留空。然而,這正是問題的根本原因,因為空值仍會被解析為一個空字符串,而不是被忽略。

如果只是這樣說是沒有說服力的,接下來我將本著“源碼面前無秘密”的原則,深入揭示問題的本質(zhì)。

源碼分析

假設(shè)本地的 Redis 未配置密碼,SpringBoot 的 Redis 連接配置如下:

spring:
  data:
    redis:
      database: 0
      host: 127.0.0.1
      port: 6379
      password:

MasterSlaveConnectionManager#createClient 根據(jù)配置創(chuàng)建客戶端,其中配置的 password 是空字符串而不是null。

BaseConnectionHandler#channelActive 方法根據(jù)配置進(jìn)行 Redis 客戶端連接初始化。由于配置中的 password 被解析成空字符串而非 null,因此嘗試使用空字符串作為密碼連接 Redis,但由于 Redis 服務(wù)未設(shè)置密碼,連接失敗。

image-20240529205521031

解決方案

由上可知,如果將配置的 password 值設(shè)置為空,則客戶端在連接時會使用空字符串作為密碼進(jìn)行認(rèn)證。由于服務(wù)端未設(shè)置密碼,因此連接失敗。

解決方法其實很簡單,如果 Redis 服務(wù)未設(shè)置密碼,需要將 password 注釋或刪除,而不是設(shè)置為空字符串。

spring:
  data:
    redis:
      database: 0
      host: 127.0.0.1
      port: 6379
   	  # 如果 Redis 服務(wù)未設(shè)置密碼,需要將 password 刪除或注釋,而不是設(shè)置為空字符串
      # password:

再次調(diào)試可以看到 password 為 null ,直接跳過密碼認(rèn)證,直接返回已完成的 CompletableFuture 對象

以上就是SpringBoot 啟動報錯Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6379問題的解決方案的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot 啟動報錯Unable connect Redis的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解Spring如何解決循環(huán)引用的問題

    詳解Spring如何解決循環(huán)引用的問題

    在Spring框架中,當(dāng)兩個或多個Bean之間存在相互依賴關(guān)系時,可能會導(dǎo)致循環(huán)引用的問題,循環(huán)引用指的是兩個或多個Bean之間互相依賴,形成一個循環(huán)鏈,本文將和大家一起探討Spring如何解決循環(huán)引用的問題,感興趣的小伙伴跟著小編一起來看看吧
    2023-08-08
  • Springboot整合Redis實現(xiàn)超賣問題還原和流程分析(分布式鎖)

    Springboot整合Redis實現(xiàn)超賣問題還原和流程分析(分布式鎖)

    最近在研究超賣的項目,寫一段簡單正常的超賣邏輯代碼,多個用戶同時操作同一段數(shù)據(jù)出現(xiàn)問題,糾結(jié)該如何處理呢?下面小編給大家?guī)砹薙pringboot整合Redis實現(xiàn)超賣問題還原和流程分析,感興趣的朋友一起看看吧
    2021-10-10
  • SpringBoot中熱點(diǎn)KEY緩存優(yōu)化的2種主流策略

    SpringBoot中熱點(diǎn)KEY緩存優(yōu)化的2種主流策略

    所謂熱點(diǎn)KEY,是指在緩存或數(shù)據(jù)庫中被頻繁訪問的少量鍵值,這些鍵往往承載了系統(tǒng)中大部分的訪問流量,本文將分享SpringBoot中三種主流的熱點(diǎn)KEY緩存優(yōu)化策略,大家可以根據(jù)需求進(jìn)行選擇
    2025-04-04
  • Java實現(xiàn)子類自動調(diào)用父類無參構(gòu)造函數(shù)

    Java實現(xiàn)子類自動調(diào)用父類無參構(gòu)造函數(shù)

    子類在Java中創(chuàng)建對象時,會自動調(diào)用父類的無參構(gòu)造函數(shù),如果父類只有有參構(gòu)造函數(shù),而子類沒有使用`super()`顯式調(diào)用父類構(gòu)造函數(shù),編譯器會報錯,因此,建議在類中總是定義無參構(gòu)造函數(shù)以避免潛在的錯誤
    2026-01-01
  • Java實現(xiàn)計算機(jī)程序設(shè)計思路

    Java實現(xiàn)計算機(jī)程序設(shè)計思路

    這篇文章主要為大家介紹了Java實現(xiàn)計算機(jī)程序設(shè)計思路,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 使用res:bean屬性復(fù)制避免null值覆蓋版本

    使用res:bean屬性復(fù)制避免null值覆蓋版本

    這篇文章主要介紹了使用res:bean屬性復(fù)制避免null值覆蓋版本的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Spring中@Scope注解用法解析

    Spring中@Scope注解用法解析

    這篇文章主要介紹了Spring中@Scope注解用法解析,@Scope注解主要作用是調(diào)節(jié)Ioc容器中的作用域,在Spring IoC容器中主要有以下五種作用域,需要的朋友可以參考下
    2023-11-11
  • 多個SpringBoot項目采用redis實現(xiàn)Session共享功能

    多個SpringBoot項目采用redis實現(xiàn)Session共享功能

    這篇文章主要介紹了多個SpringBoot項目采用redis實現(xiàn)Session共享,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • SpringBoot集成Redis數(shù)據(jù)庫,實現(xiàn)緩存管理

    SpringBoot集成Redis數(shù)據(jù)庫,實現(xiàn)緩存管理

    SpringBoot2 版本,支持的組件越來越豐富,對Redis的支持不僅僅是擴(kuò)展了API,更是替換掉底層Jedis的依賴,換成Lettuce。 本案例需要本地安裝一臺Redis數(shù)據(jù)庫。下面就來看下集成Redis的步驟
    2021-06-06
  • Java中怎樣處理空指針異常

    Java中怎樣處理空指針異常

    程序中的變量是?null,就意味著它沒有引用指向或者說沒有指針。這時,我們對這個變量進(jìn)行任何操作,都必然會引發(fā)空指針異常,本文主要介紹了Java中怎樣處理空指針異常,感興趣的可以了解一下
    2022-05-05

最新評論

平陆县| 忻城县| 鄄城县| 和林格尔县| 新化县| 攀枝花市| 黄浦区| 南康市| 成武县| 汾西县| 曲靖市| 抚远县| 台中县| 封开县| 元氏县| 当涂县| 四会市| 稻城县| 霍山县| 汉川市| 宁陕县| 阳泉市| 梁山县| 黄平县| 龙陵县| 花莲县| 海晏县| 丘北县| 郧西县| 兴文县| 阳新县| 林州市| 普宁市| 徐水县| 来宾市| 报价| 盐山县| 玉溪市| 平舆县| 任丘市| 乐陵市|