@ -8,8 +8,10 @@ import org.springframework.data.redis.connection.RedisConnectionFactory;
@@ -8,8 +8,10 @@ import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate ;
import org.springframework.data.redis.serializer.StringRedisSerializer ;
import com.fasterxml.jackson.annotation.JsonAutoDetect ;
import com.fasterxml.jackson.annotation.JsonTypeInfo ;
import com.fasterxml.jackson.annotation.PropertyAccessor ;
import com.fasterxml.jackson.databind.ObjectMapper ;
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator ;
/ * *
* redis配置
@ -21,7 +23,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
@@ -21,7 +23,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
public class RedisConfig extends CachingConfigurerSupport
{
@Bean
@SuppressWarnings ( value = { "unchecked" , "rawtypes" , "deprecation" } )
@SuppressWarnings ( value = { "unchecked" , "rawtypes" } )
public RedisTemplate < Object , Object > redisTemplate ( RedisConnectionFactory connectionFactory )
{
RedisTemplate < Object , Object > template = new RedisTemplate < > ( ) ;
@ -31,12 +33,17 @@ public class RedisConfig extends CachingConfigurerSupport
@@ -31,12 +33,17 @@ public class RedisConfig extends CachingConfigurerSupport
ObjectMapper mapper = new ObjectMapper ( ) ;
mapper . setVisibility ( PropertyAccessor . ALL , JsonAutoDetect . Visibility . ANY ) ;
mapper . enabl eDefaultTyping( ObjectMapper . DefaultTyping . NON_FINAL ) ;
mapper . activat eDefaultTyping( LaissezFaireSubTypeValidator . instance , ObjectMapper . DefaultTyping . NON_FINAL , JsonTypeInfo . As . PROPERTY ) ;
serializer . setObjectMapper ( mapper ) ;
template . setValueSerializer ( serializer ) ;
// 使用StringRedisSerializer来序列化和反序列化redis的key值
template . setKeySerializer ( new StringRedisSerializer ( ) ) ;
template . setValueSerializer ( serializer ) ;
// Hash的key也采用StringRedisSerializer的序列化方式
template . setHashKeySerializer ( new StringRedisSerializer ( ) ) ;
template . setHashValueSerializer ( serializer ) ;
template . afterPropertiesSet ( ) ;
return template ;
}