Redis自定义序列化工具
在用Spring Boot 使用Redis命令时会出现乱码问题
解决乱码问题写序列化工具
@Configuration
public class RedisConfig {
@Bean //主动注册了一个名字叫redisTemplate 的bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory)
{
RedisTemplate<Object, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
Jackson2JsonRedisSerializer jackson = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper mapper = new ObjectMapper();
// 启用默认类型推理,将类型信息作为属性写入JSON
// 就是把对象的全类名写入json
mapper.activateDefaultTyping( mapper.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL);
jackson.setObjectMapper(mapper);
template.setKeySerializer(StringRedisSerializer.UTF_8);
template.setValueSerializer(jackson);
template.setHashKeySerializer(StringRedisSerializer.UTF_8);
template.setHashValueSerializer(jackson);
return template;
}
}