spring boot redis kv 乱码

redisTemplate 默认的序列化为jdkSerializeable 这种方式会导致key/value出现 \xAC\xED\x00\x05t\x00\x011 这样的乱码

会导致两个问题

a.不易阅读

b.无法跟其他语言交互

以下为解决过程


1.添加config类为redisTemplate配置默认的序列化模式

        redisTemplate.setKeySerializer(new StringRedisSerializer());
        //设置序列化Value的实例化对象
        redisTemplate.setValueSerializer(new StringRedisSerializer());
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());

        redisTemplate.setHashValueSerializer(new StringRedisSerializer());

测试后setkey lpush等操作均不在出现乱码,但是原来社多直接将Java obj list写入的功能无法使用

2.注释上述第二句

//redisTemplate.setValueSerializer(new StringRedisSerializer());

恢复value为默认的序列化模式

然后在小部分需要处理其他语言的地方调用

redisTemplate.setValueSerializer(new StringRedisSerializer());

dosomethingwithredis()

 redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());

最后将其恢复。







猜你喜欢

转载自blog.csdn.net/w18637468680/article/details/80156596