0%

springboot集成redis乱码问题

springboot集成redis乱码问题

在使用redis操作字符串时发现会变成乱码,这是因为RedisTemplate默认是使用的是JdkSerializationRedisSerializer序列化方式,这里可以使用StringRedisTemplate来进行操作,StringRedisTemplate中默认使用的是StringRedisSerializer

也可以对RedisTemplate进行配置,设置其序列化方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Configuration
public class RedisConfig {

// 配置redisTemplate
@Bean
public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory){
RedisTemplate<String,Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
// 设置key的序列化
redisTemplate.setKeySerializer(new StringRedisSerializer());
// value的序列化
Jackson2JsonRedisSerializer jsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
redisTemplate.setValueSerializer(jsonRedisSerializer);

return redisTemplate;
}
}