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());};
}
posted @   HumorChen99  阅读(970)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2021-02-02 Java协程框架Quasar Demo (maven)
点击右上角即可分享
微信分享提示