Caused by: io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication required.【Springboot 连接 腾讯 redis 认证失败解决】
原文链接 : https://blog.csdn.net/De_Buffer/article/details/132492287
最终解决方法
虽然通过更换连接客户端为jedis解决了问题,但不符合发展趋势,lettuce已成为主流redis客户端,springboot2官方推荐,因此在这个保底方案基础上继续探究。终于!!
找到解决我的问题的一篇文章,跟着他的思路发现确实是lettuce的问题,是和redis版本不兼容。系统中引入的spring-lettuce依赖包版本到6.xx了,而redis服务的版本只有5.xx。官方文档介绍lettuce6.0需要匹配redis6,其中握手协议同时支持resp2/3,6.0以下低版本的redis需要使用resp2。
最终的操作:
import io.lettuce.core.ClientOptions;
import io.lettuce.core.protocol.ProtocolVersion;
import org.springframework.boot.autoconfigure.data.redis.LettuceClientConfigurationBuilderCustomizer;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration;
/**
* @description lettuce客户端配置
* @author
*/
@Configuration
public class LettuceConfig implements LettuceClientConfigurationBuilderCustomizer {
@Override
public void customize(LettuceClientConfiguration.LettuceClientConfigurationBuilder clientConfigurationBuilder) {
clientConfigurationBuilder.clientOptions(ClientOptions.builder().protocolVersion(ProtocolVersion.RESP2).build());
}
}
5、还是根据报错信息(从lettuce.core包中抛出的异常)推断问题出在lettuce上面,但具体是啥问题暂不深究:通过修改连接方式为jedis成功连接上redis服务器(排除了pom的lettuce核心包)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-12-08 idea的tomcat消失