diff --git a/pom.xml b/pom.xml index 0168e7f91e97a58bcab66af68149ac5a05a3dc61..e7c443e333780c0d88a979e517e4fcc7c628242c 100644 --- a/pom.xml +++ b/pom.xml @@ -81,8 +81,17 @@ spring-boot-devtools - - + + + org.springframework.boot + spring-boot-starter-data-redis + + + + + + + diff --git a/src/main/java/com/adhere/configs/RedisConfig.java b/src/main/java/com/adhere/configs/RedisConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..8870e6de84a27f8e4d97f72ea652e2f31dee5571 --- /dev/null +++ b/src/main/java/com/adhere/configs/RedisConfig.java @@ -0,0 +1,37 @@ +package com.adhere.configs; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +@Configuration +public class RedisConfig { + + @Bean + public RedisTemplate redisTemplate(RedisConnectionFactory factory) { + RedisTemplate redisTemplate = new RedisTemplate(); + redisTemplate.setConnectionFactory(factory); + //key String序列化配置 + StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); + redisTemplate.setKeySerializer(stringRedisSerializer); + redisTemplate.setHashKeySerializer(stringRedisSerializer); + + //value Json序列化配置 + Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); + //如果不设置的话,redisTemplate获取对象的时候就会报错 + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); + jackson2JsonRedisSerializer.setObjectMapper(objectMapper); + redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); + redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); + + return redisTemplate; + } +}