diff --git a/src/main/java/com/ycwl/basic/config/CustomRedisCacheManager.java b/src/main/java/com/ycwl/basic/config/CustomRedisCacheManager.java index 69ebc4eb..6c70b0f2 100644 --- a/src/main/java/com/ycwl/basic/config/CustomRedisCacheManager.java +++ b/src/main/java/com/ycwl/basic/config/CustomRedisCacheManager.java @@ -1,5 +1,7 @@ package com.ycwl.basic.config; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import org.springframework.cache.annotation.CachingConfigurerSupport; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Bean; @@ -24,7 +26,10 @@ public class CustomRedisCacheManager extends CachingConfigurerSupport { @Bean public RedisCacheConfiguration redisCacheConfiguration() { - Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.registerModule(new JavaTimeModule()); + Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(objectMapper, Object.class); + RedisCacheConfiguration configuration = RedisCacheConfiguration.defaultCacheConfig(); configuration = configuration.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer)).entryTtl(Duration.ofMinutes(1)); return configuration; @@ -45,10 +50,16 @@ public class CustomRedisCacheManager extends CachingConfigurerSupport { final StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(stringRedisSerializer); - redisTemplate.setValueSerializer(stringRedisSerializer); - redisTemplate.setHashKeySerializer(stringRedisSerializer); + // Configure Jackson2JsonRedisSerializer with JavaTimeModule for value serialization + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.registerModule(new JavaTimeModule()); + Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(objectMapper, Object.class); + + redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); + redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); + redisTemplate.afterPropertiesSet(); return redisTemplate; }