В Spring Boot 1.5.x я смог предоставить настраиваемый сериализатор ключей, указав RedisCacheManager
и установив сериализатор ключей на RedisTemplate
, переданном super()
.
В Spring Data Redis2.1.3, нет RedisTemplate
в RedisCacheManager
.Как бы это установить?
Spring Boot 1.5.x
public class MyRedisCacheManager extends RedisCacheManager
{
private RedisSerializer redisSerializer;
public MyRedisCacheManager(RedisTemplate<?, ?> redisTemplate)
{
super( redisTemplate );
//Create the key serializer
Jackson2JsonRedisSerializer<Object> jKeySerializer = new Jackson2JsonRedisSerializer<>( Object.class );
ObjectMapper keyObjectMapper = new ObjectMapper();
keyObjectMapper.setVisibility( PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY );
keyObjectMapper.enableDefaultTyping( ObjectMapper.DefaultTyping.NON_FINAL );
//Set on our key serializer
jKeySerializer.setObjectMapper( keyObjectMapper );
//Save on the template (which is used to communicate with Redis)
redisTemplate.setKeySerializer( jKeySerializer );
}
}
Как мне это сделать в новом Spring Redis?