1、 问题来源:
Lettuce版本:6.1.5
Redis版本:4.0
SpringBoot漏洞修复需要升级到新版本2.5.7,升级后与老版本的Redis配置完全一样,但是连接增强版redis时报如下错误:
2、原因分析:
Java 操作 Redis 的库有两个,Jedis和 Lettuce,目前 SpringBoot 2.x 中已经将 Jedis 换成了 Lettuce,Lettuce是连接Redis Server的客户端程序,Redis客户端使用RESP(Redis的序列化协议)协议与Redis的服务器端进行通信。Redis5及以下默认使用RESP2进行连接,RESP3只能连接redis6。
3、解决方案:
SpringBoot2.5.7使用的lettuce版本是6.1.5,连接Redis时默认通过RESP3协议,此时会失败,需要手动改回RESP2。