From 2e2313f3d24911a62f0b9e176f855f7eeb559c1b Mon Sep 17 00:00:00 2001 From: "udf_admin@163.com" Date: Mon, 20 Nov 2017 21:34:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=BB=98=E8=AE=A4redis?= =?UTF-8?q?=E7=9A=84=E5=BA=8F=E5=88=97=E5=8C=96=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/itkk/udf/cache/redis/CacheRedisConfig.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/udf-starter-cache-redis/src/main/java/org/itkk/udf/cache/redis/CacheRedisConfig.java b/udf-starter-cache-redis/src/main/java/org/itkk/udf/cache/redis/CacheRedisConfig.java index 16350f3..e7da918 100644 --- a/udf-starter-cache-redis/src/main/java/org/itkk/udf/cache/redis/CacheRedisConfig.java +++ b/udf-starter-cache-redis/src/main/java/org/itkk/udf/cache/redis/CacheRedisConfig.java @@ -1,5 +1,8 @@ package org.itkk.udf.cache.redis; +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; import org.itkk.udf.core.ApplicationConfig; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.EnableCaching; @@ -8,7 +11,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.cache.RedisCacheManager; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer; +import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; /** @@ -52,8 +55,15 @@ public class CacheRedisConfig { public RedisTemplate redisTemplate(RedisConnectionFactory factory) { RedisTemplate redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(factory); + // 使用Jackson2JsonRedisSerialize 替换默认序列化 + Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); + jackson2JsonRedisSerializer.setObjectMapper(objectMapper); + // 设置value的序列化规则和 key的序列化规则 + redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setKeySerializer(new StringRedisSerializer()); - redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer()); redisTemplate.afterPropertiesSet(); return redisTemplate; }