spring boot使用redis缓存乱码
时间: 2023-08-01 15:08:27 浏览: 115
出现redis缓存乱码的情况,可能是因为在存储数据时没有进行编码操作,或者是在读取数据时没有进行解码操作。
为了解决这个问题,可以尝试在Spring Boot中配置redisTemplate,并设置编码和解码器:
```java
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(connectionFactory);
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
return template;
}
}
```
在上面的配置中,我们使用了StringRedisSerializer作为key的序列化器,使用GenericJackson2JsonRedisSerializer作为value的序列化器,这样可以保证在存储和读取数据时,数据会被正确地编码和解码。
阅读全文