SpringBoot整合Redis乱码原因及解决方案
Posted Firm陈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot整合Redis乱码原因及解决方案相关的知识,希望对你有一定的参考价值。
问题描述:springboot使用spring data redis存储数据时乱码
redis key/value 出现\\xAC\\xED\\x00\\x05t\\x00\\x05
1.问题分析: 查看RedisTemplate类
2.JdkSerializationRedisSerializer类
3.SerializingConverter类
4.DefaultSerializer类
5.Serializer类
原因:RedisTemplate默认使用的是JDK序列化器,而它使用的编码是ISO-8859-1
解决方案: 设置序列器
//key使用StringRedisSerializer
redisTemplate.setKeySerializer(new StringRedisSerializer());
//value使用GenericJackson2JsonRedisSerializer
redisTemplate.setValueSerializer(new StringRedisSerializer());
//redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
以上是关于SpringBoot整合Redis乱码原因及解决方案的主要内容,如果未能解决你的问题,请参考以下文章
fix bug:Redis序列化算法不一致导致乱码问题的原因及自定义序列化解决方案
解决springboot整合redis-cluster下集群拓扑不自动刷新问题