springboot 配置redis 一直报 Connection reset 错误怎么办?

springboot 3.x 配置了 redis 客户端,终端一直提示如下错误,但是又能实际向redis写入数据(数据是乱码的,读出来也是 null),请问该如何解决(没有在代码中增加 RedisConfiguration 进一步设置,是不是这个原因导致 ?)?
image.png

image.png

我的配置如下:

image.png

我的代码如下:

image.png

image.png

阅读 2.1k
avatarAI BotBETA

你的问题与Spring配置Redis连接有关,具体表现为“Connection reset”错误。首先,我们需要确定这个错误的原因。可能的原因有很多,比如网络问题、Redis服务器问题、客户端配置问题等。

  1. 检查网络连接:确保你的应用程序可以访问Redis服务器。你可以尝试ping或telnet到Redis服务器的地址和端口,看看是否可以正常连接。
  2. 检查Redis服务器状态:确认Redis服务器正在运行并且能够正常处理请求。你可以尝试使用redis-cli等工具连接到Redis服务器,看看是否能够成功。
  3. 检查Spring配置:你提供的配置信息不完整,我无法直接判断是否存在问题。但是,通常来说,Spring配置Redis需要指定Redis服务器的地址和端口,以及连接池的参数(如最大连接数、空闲连接的保持时间等)。你需要确保这些配置是正确的。
  4. 检查序列化和反序列化:如果你在应用程序中存储了Java对象,你需要确保这些对象可以被正确地序列化和反序列化。默认情况下,Spring使用Java序列化机制,如果你的对象没有实现Serializable接口或者使用了自定义序列化方式,可能会导致读写数据时出现问题。
  5. 查看日志:查看应用程序和Redis服务器的日志,看看是否有更详细的错误信息或堆栈跟踪,这有助于定位问题。

如果你已经检查了以上所有可能的问题,但仍然无法解决,你可以尝试升级Spring和Redis客户端的版本,看看是否是版本兼容性问题。另外,你可以考虑寻求更专业的帮助,比如在StackOverflow上提问,或者联系Spring和Redis的社区。

3 个回答

感谢@lpe234 提供的答案;是 redis 版本3.x 导致的问题;目前测试升级到5.x版本后没在出现 connection reset 问题。

新手上路,请多包涵

很有可能是网络不通,要么就是redis端口不通,建议使用redis客户端连一下试试能不能连上。

新手上路,请多包涵

我好想也遇到过这种问题,我当时是在写入Redis的那个语句上加上了过期时间,然后就好了,你可以试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题