中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot集成redis支持設置redis密碼的示例分析

發布時間:2021-06-15 14:51:41 來源:億速云 閱讀:3981 作者:小新 欄目:大數據

這篇文章將為大家詳細講解有關springboot集成redis支持設置redis密碼的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

最近使用的spring boot項目中需要集成redis集群,連接redis時需要設置密碼,但是設置密碼之后發現boot集成的redis不支持設置密碼(redis單節點也是一樣),一旦設置密碼后就會報錯:Jedis does not support password protected Redis Cluster configurations

我使用的boot版本是1.4.x

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.7.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

我看了一下源碼,源碼如圖:

springboot集成redis支持設置redis密碼的示例分析

源碼中一旦發現你設置了密碼的話,直接拋出異常,醉了。。。。。。   

然后我看了默認集成的Redis相關版本,其中jedis版本是2.8.x,spring-data-redis的版本是1.7.x,對應的版本中JedisCluster的構造函數,沒有一個包含密碼參數。

解決方案一:替換jedis和spring-data-redis的版本

修改前maven依賴如下

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

修改后maven依賴如下

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <exclusions>
        <exclusion>
	    <groupId>redis.clients</groupId>
	    <artifactId>jedis</artifactId>
	</exclusion>
	<exclusion>
	    <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
	</exclusion>
    </exclusions>
</dependency>
 
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>
 
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-redis</artifactId>
    <version>1.8.0.RELEASE</version>
</dependency>

解決方案二:升級boot版本到1.5或者以上

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

boot 1.5.x版本中jedis版本默認是2.9.x,spring-data-redis的版本默認是1.8.x,所以可以正常使用redis密碼進行驗證。

application.properties 文件中 redis配置示例

#spring.redis.host = 140.143.23.94
spring.redis.password = 123456
#spring.redis.port = 6379
# 連接超時時間 單位 ms(毫秒)
spring.redis.timeout = 6000
spring.redis.cluster.nodes = 12.2.3.14:7001,12.2.3.14:7002,12.2.3.14:7003,12.2.3.14:7004
# 連接池中的最大空閑連接,默認值也是8
spring.redis.pool.max-idle = 8
# 連接池中的最小空閑連接,默認值也是0
spring.redis.pool.min-idle = 0
# 如果賦值為-1,則表示不限制;如果pool已經分配了maxActive個jedis實例,則此時pool的狀態為exhausted(耗盡)。
spring.redis.pool.max-active = 8 
# 等待可用連接的最大時間,單位毫秒,默認值為-1,表示永不超時。如果超過等待時間,則直接拋出
spring.redis.pool.max-wait = -1

關于“springboot集成redis支持設置redis密碼的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

瓮安县| 滦南县| 开远市| 图们市| 阜城县| 遵义县| 六枝特区| 德阳市| 罗城| 海淀区| 友谊县| 尼玛县| 麦盖提县| 武义县| 齐齐哈尔市| 屏东县| 西宁市| 财经| 承德市| 广汉市| 永和县| 富平县| 宿迁市| 湾仔区| 连城县| 九龙县| 铁岭市| 永顺县| 体育| 盖州市| 尉犁县| 阿城市| 邹城市| 临潭县| 中宁县| 福清市| 自治县| 昌黎县| 额济纳旗| 长宁区| 分宜县|