作者迁移项目的时候发现迁移之前Redis里面的键不会出现乱码的现象,但是迁移之后出现了,检查了一下,发现自己没有为RedisTemplate配置序列化器,所以当我在存储类似
like:userId
这样的时候,like前面出现了几个奇奇怪怪的符号
解决方法很简单,直接设置连接工厂,然后设置序列化器就好,参考一下的代码
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory connectionFactory) {
// 创建 RedisTemplate 对象
RedisTemplate<String, String> redisTemplate = new RedisTemplate<>();
// 设置连接工厂
redisTemplate.setConnectionFactory(connectionFactory);
// 设置 Key 的序列化 - String 序列化 StringRedisSerializer.UTF_8
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new StringRedisSerializer());
// 返回
return redisTemplate;
}
}