SpringBoot整合Redis乱码缘由及解决方案

<div id="cnblogs_post_body" class="blogpost-body"><p><span style="font-size: 18pt;"><strong><span style="color: #888888;">问题描述:springboot使用spring data redis存储数据时乱码</span></strong></span></p> <p><span style="font-size: 18pt;"><strong><span style="color: #888888;">redis key/value 出现\xAC\xED\x00\x05t\x00\x05</span></strong></span></p> <hr> <p><span style="font-size: 18px;">问题分析: 查看RedisTemplate类</span></p> <p><img src="https://images2018.cnblogs.com/blog/1439885/201807/1439885-20180717183315687-980218750.jpg" alt=""></p> <p><span style="font-size: 14pt;">JdkSerializationRedisSerializer类</span></p> <p><img src="https://images2018.cnblogs.com/blog/1439885/201807/1439885-20180717183338230-1157378667.jpg" alt=""></p> <p><span style="font-size: 18px;">SerializingConverter类</span></p> <p><img src="https://images2018.cnblogs.com/blog/1439885/201807/1439885-20180717183343493-1896994181.jpg" alt=""></p> <p><span style="font-size: 18px;">DefaultSerializer类</span></p> <p><img src="https://images2018.cnblogs.com/blog/1439885/201807/1439885-20180717183404637-1423129626.jpg" alt=""></p> <p><span style="font-size: 18px;">Serializer类</span></p> <p><img src="https://images2018.cnblogs.com/blog/1439885/201807/1439885-20180717183412110-1236673673.jpg" alt=""></p> <p>缘由:RedisTemplate默认使用的是JDK序列化器,而它使用的编码是ISO-8859-1</p> <hr> <p><span style="font-size: 18pt;">解决方案:&nbsp; &nbsp;</span><span style="font-size: 18px;">设置序列器</span></p> <pre><em><span style="font-size: 18px;"><img src="https://images2018.cnblogs.com/blog/1439885/201807/1439885-20180717184022939-1877513528.jpg" alt=""><br></span><br></em></pre> <pre><span style="font-size: 14pt;"><em id="__mceDel">redisTemplate.setKeySerializer(new StringRedisSerializer()); //key使用StringRedisSerializer</em></span></pre> <pre><em id="__mceDel"><span style="font-size: 18px;"><br><br></span></em></pre> 原文地址:https://www.cnblogs.com/swiftwn/p/9325192.html </div>html

相关文章
相关标签/搜索