Bean配置文件如下:
@Bean
public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
//为了开发方便,一般直接使用<String,Object>
RedisTemplate<String,Object> template=new RedisTemplate<>();
//设置连接工厂,默认的
template.setConnectionFactory(redisConnectionFactory);
//JSON序列化配置,使用Json解析任何序列化对象
Jackson2JsonRedisSerializer objectJackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
//需要通过ObjectMapper进行转义,然后才能使用
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
objectJackson2JsonRedisSerializer.setObjectMapper(objectMapper);
//String的序列化
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
//key采用String的序列化方式
template.setKeySerializer(stringRedisSerializer);
//hash的key也采用String的序列化方式
template.setHashKeySerializer(stringRedisSerializer);
//value采用jackson的方式序列化
template.setValueSerializer(objectJackson2JsonRedisSerializer);
//hash的value采用jackson的方式序列化
template.setHashValueSerializer(objectJackson2JsonRedisSerializer);
//将所有的配置放进去
template.afterPropertiesSet();
return template;
}