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

devtools/2025/1/20 0:20:12/

问题:

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

我的yml文件配置如下:

spring:redis:host: 远程ip地址port: 6379password: 密码

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

OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appendedorg.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/:6379,这段表示在连接本地的redis的时候失败了,???,我本地没有安装redis,当然连接不上了,但是为什么我配置的远程ip,会连接到本地!

由于在springBoot中每个配置项都会有一个默认的自动配置类与之对应,我这里配置了但是没效果,显然配置失败,项目使用默认的localhost进行连接的,那为啥会配置失败呢

在我查了半天教程之后,总算在一篇教程里面发现了类似的情况,如下:

升级springboot3.x踩坑记录-CSDN博客

上面这篇文件就是,作者在从spirngBoot2升到3之后redis连接失败了,查看了源码之后发现redis的前缀发生了改变!!!

而我使用的是spirngBoot3,上面的yml配置方法是springBoot2的配置方法,所以产生了配置失效!

解决方法:

根据源码可知,springboot3中redis的前缀从“spring.redis”变成了"spring.data.redis"

因此我们的配置文件,需要再中间加一个data!

spring:data:redis:host: 39.104.26.173port: 6379password: wen200389

这样就能够成功连接了!

总结:

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

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


http://www.ppmy.cn/devtools/151671.html

相关文章

Android 12.0 息屏休眠后立即启动屏保功能实现

1.前言 在12.0的系统rom定制化开发中,在进行一些关于自定义屏保功能中,产品需要再息屏休眠的时候启动屏保功能,接下来 就需要分析监听息屏休眠的时候,启动屏保功能实现 2.息屏休眠后立即启动屏保功能实现的核心类 frameworks/base/services/core/java/com/android/serve…

【数据结构-堆】【hard】力扣23. 合并 K 个升序链表

给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 示例 1&#xff1a; 输入&#xff1a;lists [[1,4,5],[1,3,4],[2,6]] 输出&#xff1a;[1,1,2,3,4,4,5,6] 解释&#xff1a;链表数组如下&#…

冯·诺依曼体系结构:计算机科学的奠基石

文章目录 前言&#x1f3b7;一、冯诺依曼体系结构&#xff08;Von Neumann Architecture&#xff09;&#x1f3b8;1.1 硬件介绍&#x1f941;1. 输入设备&#x1f941;2. 输出设备&#x1f941;3. 输入输出一体化设备&#x1f941;4. 存储器&#x1f941;5. 中央处理器CPU&…

登录、注册、忘记密码、首页HTML模板

<!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>登录</title><style>body {display: fl…

抖音矩阵是什么

抖音矩阵是指在同一品牌或个人IP下&#xff0c;通过创建多个不同定位的抖音账号&#xff08;如主号、副号、子号等&#xff09;&#xff0c;形成一个有机的整体&#xff0c;以实现多维度、多层次的内容覆盖和用户互动。以下是关于抖音矩阵的详细介绍&#xff1a; 抖音矩阵的类…

Pycharm报错:DeprecationWarning: sipPyTypeDict() is deprecated

原因&#xff1a;这个警告是由SIP库引发的&#xff0c;通常不会导致应用程序出现问题。警告表明应用程序中使用了不推荐使用的SIP函数&#xff0c;但在大多数情况下&#xff0c;这些警告可以被忽略。 SIP是用于创建Python和C之间的桥接的库&#xff0c;用于让Python扩展能够与…

util层注入service

简介背景 在 Java 或 Spring 框架中&#xff0c;util 层通常用于存放工具类或辅助类&#xff0c;而 service 层则通常包含核心业务逻辑。在一些情况下&#xff0c;可能需要将 service 层注入到 util 层中&#xff0c;以便在工具类中调用某些业务逻辑。虽然这种做法并不是最常见…

无降智o1 pro——一次特别的ChatGPT专业模式探索

这段时间和朋友们交流 ChatGPT 的使用心得&#xff0c;大家都提到一个很“神秘”的服务&#xff1a;它基于 O1 Pro 模型&#xff0c;能够在对话里一直保持相对高水平的理解和回复&#xff0c;不会突然变得“降智”。同时&#xff0c;整体使用还做了免折腾的网络设置——简单一点…