redis连接Unable to connect to Redis

文章讲述了在本地Springboot项目中配置连接Redis时遇到的连接失败问题,具体表现为无法连接到localhost:6379。错误信息提示需要认证。解决方案包括:修改Redis配置,允许所有网卡连接(bind0.0.0.0),关闭保护模式(protected-modeyes),设置连接密码(requirepass)以及确保项目配置与Redis密码一致。通过这些步骤,问题得到解决,项目成功启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

今天本地springboot项目配置连接redis,一直报连接失败

Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379
Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379
Caused by: io.lettuce.core.RedisCommandExecutionException: NOAUTH HELLO must be called with the client already authenticated, otherwise the HELLO AUTH <user> <pass> option can be used to authenticate the client and select the RESP protocol version at the same time

这样保持报错
下面来看如何解决的

解决方法

修改redis配置

1、设置可连接redis的网卡

指定了bind,则说明只允许来自指定网卡的Redis请求。如果没有指定或者指定为:0.0.0.0,就说明可以接受来自任意一个网卡的Redis请求。
查看网卡指令:ifconfig

bind 0.0.0.0

0.0.0.0代表所有服务器均可连接
在这里插入图片描述

2、设置保护模式为:yes

同样因为本机调试,避免掉误连的情况发上

protected-mode yes

在这里插入图片描述

3、设置连接密码

requirepass redis

在这里插入图片描述

4、重启redis

5、设置本地项目连接redis密码

在这里插入图片描述

6、重启项目

连接未报错,项目启动成功

总结:

出现连接错误的排查方向
1、redis服务配置的网卡限制:bind命令是否允许连接
2、redis的保护模式是否允许远程连接:protected-mode命令(yes为开启保护模式,不允许远程连接,no为关闭保护模式,允许远程连接)
3、是否设置redis连接密码及同项目配置密码是否一致,我此次连接失败的主要原因是配置文件的password: redis的配置中冒号后面少了空格,配置未能正确读取
错误配置:password:redis
正确配置:password: redis

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值