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

解决springboot整合redis-cluster下集群拓扑不自动刷新问题

SpringBoot整合Redis及Redis工具类

springboot redis Template使用,数据乱码解决

redis在macOS上的安装及与springboot的整合使用