springBoot連接遠(yuǎn)程Redis連接失敗的問題解決
問題:
首先,我是先用jedis進(jìn)行的redis連接,成功連接,沒有任何問題,說明redis配置,以及訪問地址、端口、密碼都是正確的。
我的yml文件配置如下:
spring:
redis:
host: 遠(yuǎn)程ip地址
port: 6379
password: 密碼但是當(dāng)我使用springboot里面的redisTemplate進(jìn)行連接的時(shí)候,卻發(fā)生了報(bào)錯(cuò),報(bào)錯(cuò)信息如下
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis ..... Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to localhost/<unresolved>:6379 ...... Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: localhost/127.0.0.1:6379 ..... Caused by: java.net.ConnectException: Connection refused: no further information .....
然后我就很奇怪,同樣的訪問,為什么使用jedis能夠成功,但是使用redisTemplate就會(huì)失敗
解決過程:
目光看向報(bào)錯(cuò)信息,Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to localhost/<unresolved>:6379,這段表示在連接本地的redis的時(shí)候失敗了,???,我本地沒有安裝redis,當(dāng)然連接不上了,但是為什么我配置的遠(yuǎn)程ip,會(huì)連接到本地!
由于在springBoot中每個(gè)配置項(xiàng)都會(huì)有一個(gè)默認(rèn)的自動(dòng)配置類與之對(duì)應(yīng),我這里配置了但是沒效果,顯然配置失敗,項(xiàng)目使用默認(rèn)的localhost進(jìn)行連接的,那為啥會(huì)配置失敗呢
在我查了半天教程之后,總算在一篇教程里面發(fā)現(xiàn)了類似的情況,如下:
升級(jí)springboot3.x踩坑記錄-CSDN博客
上面這篇文件就是,作者在從spirngBoot2升到3之后redis連接失敗了,查看了源碼之后發(fā)現(xiàn)redis的前綴發(fā)生了改變!??!
而我使用的是spirngBoot3,上面的yml配置方法是springBoot2的配置方法,所以產(chǎn)生了配置失效!
解決方法:
根據(jù)源碼可知,springboot3中redis的前綴從“spring.redis”變成了"spring.data.redis"
因此我們的配置文件,需要再中間加一個(gè)data!
spring:
data:
redis:
host: 39.104.26.173
port: 6379
password: wen200389這樣就能夠成功連接了!
總結(jié):
一定要注意,不同的springboot版本,對(duì)應(yīng)的配置文件的格式,有可能會(huì)發(fā)生改變,需要及時(shí)更正
還有就是,遇到問題,多看源碼?。≡S多問題真的能夠通過看源碼解決
到此這篇關(guān)于springBoot連接遠(yuǎn)程Redis連接失敗的問題解決的文章就介紹到這了,更多相關(guān)springBoot連接遠(yuǎn)程Redis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot實(shí)現(xiàn)自定義Redis的連接的流程步驟
- SpringBoot無法連接redis的解決方案
- 關(guān)于SpringBoot集成Lettuce連接Redis的方法和案例
- springboot連接不上redis的三種解決辦法
- springboot連接redis并動(dòng)態(tài)切換database的實(shí)現(xiàn)方法
- springboot 如何使用jedis連接Redis數(shù)據(jù)庫
- springboot連接Redis的教程詳解
- springboot2整合redis使用lettuce連接池的方法(解決lettuce連接池?zé)o效問題)
- 基于SpringBoot2.0默認(rèn)使用Redis連接池的配置操作
- Springboot2.X集成redis集群(Lettuce)連接的方法
- Spring?Boot2?整合連接?Redis的操作方法
相關(guān)文章
Java 異步回調(diào)機(jī)制實(shí)例分析
這篇文章主要介紹了Java 異步回調(diào)機(jī)制實(shí)例解析的相關(guān)資料,需要的朋友可以參考下2017-02-02
springboot~nexus項(xiàng)目打包要注意的地方示例代碼詳解
這篇文章主要介紹了springboot~nexus項(xiàng)目打包要注意的地方,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
一文告訴你為什么要重寫hashCode()方法和equals()方法
本篇文章帶大家了解一下為什么重寫hashCode()方法和equals()方法,文中有非常詳細(xì)的說明以及代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05
Springboot上傳文件的同時(shí)傳遞參數(shù)用對(duì)象接收的問題及解決方案
在Spring Boot中,若接口需同時(shí)接收文件和其他參數(shù),應(yīng)將文件用@RequestParam標(biāo)注,其他參數(shù)封裝對(duì)象并用@Validated校驗(yàn),避免參數(shù)綁定沖突,本文給大家介紹Springboot上傳文件的同時(shí)傳遞參數(shù)用對(duì)象接收,感興趣的朋友跟隨小編一起看看吧2025-09-09
IDEA啟動(dòng)springboot項(xiàng)目報(bào)missing ServletWebServerFactory錯(cuò)誤的解決
Spring Boot項(xiàng)目在IDEA中啟動(dòng)時(shí)報(bào)錯(cuò),經(jīng)過排查發(fā)現(xiàn)是由于Tomcat依賴的AprLifecycleListener類未被正確加載,通過將Tomcat依賴的scope從provided改為compile,解決了問題2025-12-12
SpringBoot中的定時(shí)任務(wù)和異步調(diào)用詳解
這篇文章主要介紹了SpringBoot中的定時(shí)任務(wù)和異步調(diào)用詳解,SpringBoot 定時(shí)任務(wù)是一種在SpringBoot應(yīng)用中自動(dòng)執(zhí)行任務(wù)的機(jī)制,通過使用Spring框架提供的@Scheduled注解,我們可以輕松地創(chuàng)建定時(shí)任務(wù),需要的朋友可以參考下2023-10-10

