问题
使用RedisTemplate存储至缓存时,发现key和value都乱码,而使用stringRedisTemplate没有问题,如下图所示。
分析
阅读RedisTemplate的源码发现,默认defaultSerializer为JdkSerializationRedisSerializer。
阅读StringRedisTemplate的源码发现,默认为StringRedisSerializer.UTF_8。
解决方案
替换RedisTemplate序列化方式为StringRedisTemplate。