redis redisson报错 Unsupported protocol问题原因和解决方案
redis redisson报错 Unsupported protocol问题原因和解决方案
redisson没对老版本协议做兼容处理,一旦你升级版本就出现不兼容协议就这样报错了~
不对老版本协议做兼容措施,有点憨八龟~
Redisson 在 3.13.0 and 3.19.0 更换了默认的协议,修改版本的时候小心点~
报错日志
比较典型的信息:Unsupported protocol version
java.io.IOException: Unsupported protocol version 34
content: org.redisson.client.RedisException: Unexpected exception while processing command
content: io.netty.handler.codec.DecoderException: java.io.IOException: Unsupported protocol version 34
content: at org.jboss.marshalling.river.RiverUnmarshaller.start(RiverUnmarshaller.java:1375)
content: at org.redisson.command.CommandAsyncService.convertException(CommandAsyncService.java:324)
报错原因
版本: 3.10.6 默认使用了FstCodec 编码
3.18.0 默认编码使用:MarshallingCodec,官方已经明确不再建议使用 FstCodec编码,并且移除了Fst相关依赖
读取原来编码写入到redis里的数据解析的时候就报错了,协议不支持。
解决办法
两种解决办法,要么用新版本要么用老版本
删数据
清理掉老协议写入的数据
将新版redisson设置使用捞的Fst协议
导入maven依赖
<dependency>
<groupId>de.ruedigermoeller</groupId>
<artifactId>fst</artifactId>
<version>2.57</version>
</dependency>
注入redisson配置的bean
@Bean
public RedissonAutoConfigurationCustomizer redissonAutoConfigurationCustomizer(){
return config -> {config.setCodec(new FstCodec());};
}
本文来自博客园,作者:HumorChen99,转载请注明原文链接:https://www.cnblogs.com/HumorChen/p/18039421
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2021-02-02 Java协程框架Quasar Demo (maven)