redis的key出现的\xac\xed\x00\x05t\x00乱码问题及解决
redis的key出现的\xac\xed\x00\x05t\x00乱码
在使用redis进行token的存取的时候,发现了一个严重的问题,那便是根据键获取值的时候一直拿不到,其实已经set进去了。
然后使用redis客户端,遍历所有的键的时候,发现键中有类似 \xac\xed\x00\x05t\x00 的乱码,
如下图
原因分析
spring-data-redis 的 RedisTemplate<K, V>模板类 在操作redis时默认使用JdkSerializationRedisSerializer 来进行序列化。
spring操作redis是在jedis客户端基础上进行的,而jedis客户端与redis交互的时候协议中定义是用byte类型交互,看到spring-data-redis中RedisTemplate<K, V>在操作的时候k,v是泛型对象,而不是byte[]类型的,
这样导致的一个问题就是,如果不对RedisTemplate进行设置,spring会默认采用defaultSerializer = new JdkSerializationRedisSerializer();这个方法来对key、value进行序列化操作,JdkSerializationRedisSerializer它使用的编码是ISO-8859-1
解决办法一
在使用时,规定redisTemplate的类型
@Autowired private RedisTemplate<String,String> redisTemplate
解决办法二
添加 redis 配置类,配置使用的序列化方式
/** * @author linzp * @version 1.0.0 * CreateDate 2020/8/18 22:26 */ @Configuration public class RedisConfig { @Bean(name = "redisTemplate") public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory factory) { RedisTemplate<Object, Object> template = new RedisTemplate<>(); RedisSerializer<String> redisSerializer = new StringRedisSerializer(); template.setConnectionFactory(factory); //key序列化方式 template.setKeySerializer(redisSerializer); //value序列化 template.setValueSerializer(redisSerializer); //value hashmap序列化 template.setHashValueSerializer(redisSerializer); //key haspmap序列化 template.setHashKeySerializer(redisSerializer); return template; } }
解决方法三
使用 StringRedisTemplate 而不是使用 RedisTemplate
解决后,
验证结果如下图:
总结
问题到此得已解决~
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Redis Desktop Manager(Redis可视化工具)安装及使用图文教程
这篇文章主要介绍了Redis Desktop Manager(Redis可视化工具)安装及使用图文教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-04-04Redis高级玩法之利用SortedSet实现多维度排序的方法
Redis的SortedSet是可以根据score进行排序的,以手机应用商店的热门榜单排序为例,根据下载量倒序排列。接下来通过本文给大家分享Redis高级玩法之利用SortedSet实现多维度排序的方法,一起看看吧2019-07-07浅谈redis采用不同内存分配器tcmalloc和jemalloc
下面小编就为大家带来一篇浅谈redis采用不同内存分配器tcmalloc和jemalloc。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-12-12嵌入式Redis服务器在Spring Boot测试中的使用教程
这篇文章主要介绍了嵌入式Redis服务器在Spring Boot测试中的使用,本文通过实例代码场景分析给大家介绍的非常详细,需要的朋友参考下吧2021-07-07
最新评论