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
按照这个格式配置后终于解决了这问题,祝大家好运。
发表评论 (审核通过后显示评论):