Redis 常见问题

码匠君 ... 2021-10-28 大约 2 分钟

# Redis 常见问题

# [1]本地Redis使用127.0.0.1可以访问,使用IP地址无法访问

Redis默认只允许通过127.0.0.1访问,这是其自身的安全防护机制。如果想要使用IP地址进行访问,需要将其保护设置打开。

  • Windows 版

找到redis.windows.conf配置文件

  1. protected-mode 参数改为no。

  2. 注释掉bind 127.0.0.1

  3. 重启redis服务

Redis 密码

  • Linux
  1. linux对应的是redis.conf文件

  2. 修改还是和windows一样

  3. 修改完成重启服务

# [2]io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication required

出现该错误,是由于Redis中设置密码,而代码中未读到Redis密码或配置文件中没有配置密码导致的。

  • 解决办法
  1. 首先用Redis客户端,比如:redis-desktop-manager,进行Redis的连接测试。如果无法连接,那么请检查密码输入是否正确,本地网络等相关环境;如果可以正常连接,请进行下一步。
  2. 检查Nacos中,Redis相关配置是否配置了密码。一定要注意格式,检查格式缩进是否正确,yaml配置“:”后面是否空了一格。如果确定配置正确,请进行下一步。
  3. 检查服务是否可以正常访问到Nacos服务器,是否可以正确读取Nacos中配置。

以上操作均确保无误应该就可以正常使用了,如果还有问题,那么就请尽可能的准备详尽的信息,在Gitee中提Issue (opens new window)

# [3]NOAUTH HELLO must be called with the client already authenticated, otherwise the HELLO AUTH <user>

使用spring boot data redis 链接redis sentinel集群,会报此错。

原因是因为redis sentinel集群的sentinel配置文件没有配置密码,sentinel配置密码的方式和redis的密码配置方式一样,配置文件中加上requirepass <密码> 就行。

另外,sentinel中的sentinel auth-pass <master> <pass> 不是给sentinel配置密码,而是sentinel链接redis master的密码

上次编辑于: 2021年10月28日 23:24
贡献者: herodotus