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

相關文章
相關標籤/搜索