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());
最后将其恢复。