修改redis序列化方式
时间: 2023-07-10 14:20:11 浏览: 96
在 Spring Boot 中,可以通过配置 RedisTemplate 来修改 Redis 的序列化方式。下面是一个使用 Jackson 序列化器的示例:
```java
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
// 使用 Jackson 序列化器
Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);
// 设置键(key)的序列化方式
template.setKeySerializer(new StringRedisSerializer());
// 设置值(value)的序列化方式
template.setValueSerializer(serializer);
// 设置 hash key 的序列化方式
template.setHashKeySerializer(new StringRedisSerializer());
// 设置 hash value 的序列化方式
template.setHashValueSerializer(serializer);
template.afterPropertiesSet();
return template;
}
}
```
在上面的例子中,我们使用了 Jackson2JsonRedisSerializer 作为 Redis 的序列化器,它将对象序列化为 JSON 字符串并存储在 Redis 中。在 RedisTemplate 的配置中,我们分别设置了键、值、哈希键、哈希值的序列化方式。需要注意的是,在修改序列化方式后,之前存储的数据可能无法正常反序列化,因此需要谨慎操作。
阅读全文