目录
- 配置Redis序列化方式不生效
- 注意
- 总结
配置Redis序列化方式不生效
今天进行redis配置没有注意redis设置序列化方式的方法名称,导致redis序列化一直不成功。
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
//配置序列化规则,jdk的序列化,对象必须实现Serializer接口jackson就不需要
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
//实例化
ObjectMapper objectMapper = new ObjectMapper();
//全部属性都能实例化
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
//设置key-value序列化规则
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
//设置hash-value序列化规则
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
return redisTemplate;
}
}
redisTemplate这里的设置redisTemplate方法必须叫redisTemplate
注意
1. 方法名不可以随便改,就叫redisTemplate,要不然配置不生效
2. RedisConnectionFactory spring boot在容器创建好了
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持悠久资源。