springBoot毗连远程Redis毗连失败(已解决)

打印 上一主题 下一主题

主题 803|帖子 803|积分 2409

问题:
首先,我是先用jedis进行的redis毗连,成功毗连,没有任何问题,说明redis配置,以及访问地点、端口、密码都是正确的。
我的yml文件配置如下:
  1. spring:
  2.   redis:
  3.     host: 远程ip地址
  4.     port: 6379
  5.     password: 密码
复制代码
但是当我使用springboot内里的redisTemplate进行毗连的时候,却发生了报错,报错信息如下
  1. OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
  2. org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis
  3. .....
  4. Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to localhost/<unresolved>:6379
  5. ......
  6. Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: localhost/127.0.0.1:6379
  7. .....
  8. Caused by: java.net.ConnectException: Connection refused: no further information
  9. .....
复制代码
然后我就很奇怪,同样的访问,为什么使用jedis能够成功,但是使用redisTemplate就会失败
解决过程:
目光看向报错信息,Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to localhost/<unresolved>:6379,这段表示在毗连本地的redis的时候失败了,???,我本地没有安装redis,当然毗连不上了,但是为什么我配置的远程ip,会毗连到本地!
由于在springBoot中每个配置项都会有一个默认的自动配置类与之对应,我这里配置了但是没结果,显然配置失败,项目使用默认的localhost进行毗连的,那为啥会配置失败呢
在我查了半天教程之后,总算在一篇教程内里发现了雷同的环境,如下:
升级springboot3.x踩坑记录-CSDN博客
上面这篇文件就是,作者在从spirngBoot2升到3之后redis毗连失败了,查看了源码之后发现redis的前缀发生了改变!!!
而我使用的是spirngBoot3,上面的yml配置方法是springBoot2的配置方法,以是产生了配置失效!
解决方法:
根据源码可知,springboot3中redis的前缀从“spring.redis”变成了"spring.data.redis"
因此我们的配置文件,需要再中间加一个data!
  1. spring:
  2.   data:
  3.     redis:
  4.       host: 39.104.26.173
  5.       port: 6379
  6.       password: wen200389
复制代码
如许就能够成功毗连了!
总结:
一定要注意,不同的springboot版本,对应的配置文件的格式,有可能会发生改变,需要实时更正
还有就是,碰到问题,多看源码!!很多问题真的能够通过看源码解决

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表