redis出现Unable to connect to localhost/<unresolved>:6379 报错如何解决?

最近在计划将项目升级到java17,之前的项目是基于java11开发的,升级到java17后还是有部分功能不兼容,需要改成java17的语法,比如很常用的请求方法的包名改成了jakarta

 import jakarta.servlet.http.HttpServletRequest;

除了java版本升级到17,springboot的版本也升级到了3.X版本,其中包括security等都同步做了升级,其中security最新版本跟之前的实现也稍有不同。

在所有功能都升级完成后,将项目打包放到服务器上运行后,发现redis提示Unable to connect to localhost/<unresolved>:6379

在网上看到这个问题的解决方案是需要将redis配置文件中bind 地址注释掉,这样就允许任何地址访问。

按照这个方法改完配置后发现问题并未解决,仍然提示上述错误。

最后偶然发现一篇文章提到了这个问题,原来是最新版本的redis-stater中配置文件有所变动。老版本的stater配置文件中配置redis如下yml格式,redis字段是在spring下面。

spring:
  main:
    # 2.6.0后关闭了循环引用,需要开启,否则会启动报错
    allow-circular-references: true
  application:
    name: manage-service2
  redis:
    host: 106.52.xx.xx
    port: 6379
    password: www.dsiab.com

然而新的stater中的配置文件结构发生了变化,redis字段放到了data下面。


spring:
  main:
    # 2.6.0后关闭了循环引用,需要开启,否则会启动报错
    allow-circular-references: true
  application:
    name: manage-service
  data:
    redis:
      host: 106.52.xx.xx
      port: 6379
      password: www.dsiab.com

按照这个格式配置后终于解决了这问题,祝大家好运。

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):