【Redisson】使用Redisson注意版本更迭产生的底层变化
背景
Redisson 3.47.0
Redis 8.0.1
Springboot 3.3.5
在获取指定key的value时候,报错
Caused by: com.esotericsoftware.kryo.KryoException: Encountered unregistered class ID: 75
在数据库执行get 命令发现是没问题的,所以可以排除key不存在
搜索引擎搜索一下发现这个是因为编码器的问题,但是我的代码并没有setCodec
但是为什么之前程序没问题?因为今天测试的时候使用redis-cli连接到redis再SET了一个key value
错误原因
工具类中没有设置默认的编码器,而Redisson从3.19开始就将默认编码器改为了Kryo5Codec(信源:https://www.oschina.net/comment/news/222129)
所以只需要显示声明Codec为StringCodec即可

还有一种,就是根本无需改动编解码器,因为只有redis-cli链接到redis再set key和value,再用程序获取,才会出现这个问题。

浙公网安备 33010602011771号