广告位联系
返回顶部
分享到

springBoot连接远程Redis连接失败的问题解决

java 来源:互联网 作者:佚名 发布时间:2024-05-09 22:05:49 人浏览
摘要

问题: 首先,我是先用jedis进行的redis连接,成功连接,没有任何问题,说明redis配置,以及访问地址、端口、密码都是正确的。 我的yml文件配置如下: 1 2 3 4 5 spring: redis: host: 远程ip地址 port:

问题:

首先,我是先用jedis进行的redis连接,成功连接,没有任何问题,说明redis配置,以及访问地址、端口、密码都是正确的。

我的yml文件配置如下:

1

2

3

4

5

spring:

  redis:

    host: 远程ip地址

    port: 6379

    password: 密码

但是当我使用springboot里面的redisTemplate进行连接的时候,却发生了报错,报错信息如下

1

2

3

4

5

6

7

8

9

10

11

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就会失败

解决过程:

目光看向报错信息,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

2

3

4

5

6

spring:

  data:

    redis:

      host: 39.104.26.173

      port: 6379

      password: wen200389

这样就能够成功连接了!

总结:

一定要注意,不同的springboot版本,对应的配置文件的格式,有可能会发生改变,需要及时更正

还有就是,遇到问题,多看源码!!许多问题真的能够通过看源码解决


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Springboot限制IP访问指定的网址实现

    Springboot限制IP访问指定的网址实现
    IP黑白名单是网络安全管理中常见的策略工具,用于控制网络访问权限,根据业务场景的不同,其应用范围广泛 方式一: 添加一个简单的白
  • MybatisPlus多条件or()的使用问题小结

    MybatisPlus多条件or()的使用问题小结
    搞混了一次,特此笔记 1、bitCode or iotStr 跟其他ID一个都不能有重复 1 2 queryWrapper.ne(LineProductionPlan::getId,bean.getId()); queryWrapper.and(i - i.eq(LineP
  • 升级springboot3.x踩坑记录
    0x01 redis连接异常 先贴一张项目启动的堆栈信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 4
  • springBoot连接远程Redis连接失败的问题解决
    问题: 首先,我是先用jedis进行的redis连接,成功连接,没有任何问题,说明redis配置,以及访问地址、端口、密码都是正确的。 我的yml文件
  • Java Stream API详解与使用介绍

    Java Stream API详解与使用介绍
    本文全面介绍了 Java Stream API 的概念、功能以及如何在 Java 中有效地使用它进行集合和数据流的处理。通过详细解释和示例,文章展示了 J
  • Springboot如何使用外部yml启动

    Springboot如何使用外部yml启动
    Springboot使用外部yml启动 有时候我们想更灵活的使用配置文件,例如同一套代码去部署多个客户,此时差异大的地方其实只是配置文件,这是
  • java如何获取视频文件的编解码器代码
    引入jar包: 1 2 3 4 5 dependency groupIdorg.bytedeco/groupId artifactIdjavacv-platform/artifactId version1.5.9/version /dependency 测试类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • Java服务cpu100%的解决过程分享

    Java服务cpu100%的解决过程分享
    背景 最近一个任务是优化一个导出的功能,但是点击功能时发现,程序长时间无反应,过一段时间又有反应,通过查看服务的监控发现,服
  • Spring中实现策略模式的几种方式小结
    一.背景 在写业务代码的时候,难免会遇到很多if-else,这个时候如果if-else不是很多可以用if-else。如果此时场景过多,太多的if-else会导致代
  • mybatis解决<foreach>标签不能超过1000的问题
    错误写法: 1 2 3 4 5 6 7 8 select id=getProductInfoList resultType=vo select a.name from A a where a.idin foreach collection=ids item=item index=index open=( close=) separator=
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计