這篇文章將為大家詳細講解有關(guān)springboot集成redis支持設(shè)置redis密碼的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司公司2013年成立,先為汝城等服務(wù)建站,汝城等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為汝城企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
最近使用的spring boot項目中需要集成redis集群,連接redis時需要設(shè)置密碼,但是設(shè)置密碼之后發(fā)現(xiàn)boot集成的redis不支持設(shè)置密碼(redis單節(jié)點也是一樣),一旦設(shè)置密碼后就會報錯: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>
我看了一下源碼,源碼如圖:
源碼中一旦發(fā)現(xiàn)你設(shè)置了密碼的話,直接拋出異常,醉了。。。。。。
然后我看了默認集成的Redis相關(guān)版本,其中jedis版本是2.8.x,spring-data-redis的版本是1.7.x,對應(yīng)的版本中JedisCluster的構(gòu)造函數(shù),沒有一個包含密碼參數(shù)。
解決方案一:替換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已經(jīng)分配了maxActive個jedis實例,則此時pool的狀態(tài)為exhausted(耗盡)。 spring.redis.pool.max-active = 8 # 等待可用連接的最大時間,單位毫秒,默認值為-1,表示永不超時。如果超過等待時間,則直接拋出 spring.redis.pool.max-wait = -1
關(guān)于“springboot集成redis支持設(shè)置redis密碼的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
網(wǎng)頁標題:springboot集成redis支持設(shè)置redis密碼的示例分析
轉(zhuǎn)載源于:http://jinyejixie.com/article16/pgipgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、網(wǎng)站營銷、品牌網(wǎng)站制作、網(wǎng)站維護、商城網(wǎng)站、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)