场景:
在项目中集成Redis,Redis运行在虚拟机中,在确认路径、代码编写没问题下连接失败
解决办法:
-
查看有没有启动Redis服务器。
-
redis的配置application.yml(或application.properties)中
spring.redis.timeout连接超时时间(毫秒)中设置不能为0,
一般修改如下:spring.redis.timeout=5000。
找到redis的配置文件 redis.conf : 执行 vim redis.conf -
protected-mode yes 改为 protected-mode no (即该配置项表示是否开启保护模式,默认是开启,开启后Redis只会本地进行访问,拒绝外部访问)。
-
注释掉 bin127.0.0.1 即 #bin 127.0.0.1 (ps: 指定 redis 只接收来自于该 IP 地址的请求,如果不进行设置,那么将处理所有请求)。
-
如果在Redis中没有配置requirepass ,那么在application.properties(或application.yaml)中就不要写spring.redis.password。
笔者情况:
在查看配置文件的时候并没有 bind127.0.0.1代码,也没有保护模式代码,配置文件一句有效语句都没有都是注释,按道理该处理所有请求,但是还是只能无法连接,
解决方法:
默认情况不生效,就自己手动配置bind,在redis.conf中添加语句
手动指定,顺利连通