对redis的value使用以下序列化方式进行序列化操作:
1:jdkserializationredisserializer: (推荐学习:redis视频教程)
2:genericjackson2jsonredisserializer
3:stringredisserializer
4:genericfastjsonredisserializer
发现只有4:genericfastjsonredisserializer,最好用,不报错
下面一个个简单介绍以下
1:jdkserializationredisserializer:
序列化java对象碰到下面的报错:
defaultserializer requires a serializable payload but received an object of type [com.everestfortune.cf.bean.caseinfobean]
切换到logdb
原因:使用jdkserializationredisserializer序列化的bean必须实现serializable接口
2:genericjackson2jsonredisserializer
获取redis中的数据碰到下面的报错:
2019-04-26 11:26:41.510 error 11656 --- [nio-9076-exec-7] c.e.cf.controller.applycontroller
: redis获取数据失败,mes=could not read json: cannot construct instance of `java.time.localdate`
(no creators, like default construct, exist): cannot deserialize from object value (no delegate- or property-based creator)
原因:localdate这是java8新增的类,genericjackson2jsonredisserializer序列化方式无法识别
3:stringredisserializer
不能序列化bean,只能序列化字符串类型的数据,如果value都是字符串类型,可以用该方式序列化
4: genericfastjsonredisserializer:
目前没有发现问题,很好用
更多redis相关技术文章,请访问redis入门教程栏目进行学习!
以上就是redis序列化方式哪几种的详细内容。