|
@@ -31,31 +31,14 @@ import java.time.Duration;
|
|
|
@ConditionalOnProperty(name = "spring.redis.enable", havingValue = "true")
|
|
|
public class LettuceRedisConfig {
|
|
|
|
|
|
- private static final StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
|
|
|
-
|
|
|
- private static final Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer ;
|
|
|
-
|
|
|
- static {
|
|
|
- jackson2JsonRedisSerializer= new Jackson2JsonRedisSerializer<>(Object.class);
|
|
|
- //解决value的序列化方式
|
|
|
- //序列化时将类的数据类型存入json,以便反序列化的时候转换成正确的类型
|
|
|
- ObjectMapper objectMapper = new ObjectMapper();
|
|
|
- //objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
|
|
|
- objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);
|
|
|
- // 解决jackson2无法反序列化LocalDateTime的问题
|
|
|
- objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
|
|
- objectMapper.registerModule(new JavaTimeModule());
|
|
|
- jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
|
|
|
- }
|
|
|
-
|
|
|
@Bean(name = "stringRedisSerializer")
|
|
|
- private StringRedisSerializer stringRedisSerializer(){
|
|
|
+ public StringRedisSerializer stringRedisSerializer(){
|
|
|
return new StringRedisSerializer() ;
|
|
|
}
|
|
|
|
|
|
|
|
|
@Bean(name = "jackson2JsonRedisSerializer")
|
|
|
- private Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer(){
|
|
|
+ public Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer(){
|
|
|
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer= new Jackson2JsonRedisSerializer<>(Object.class);
|
|
|
//解决value的序列化方式
|
|
|
//序列化时将类的数据类型存入json,以便反序列化的时候转换成正确的类型
|
|
@@ -86,7 +69,7 @@ public class LettuceRedisConfig {
|
|
|
* @return
|
|
|
*/
|
|
|
@Bean
|
|
|
- public CacheManager cacheManager(RedisConnectionFactory factory) {
|
|
|
+ public CacheManager cacheManager(RedisConnectionFactory factory,StringRedisSerializer stringRedisSerializer, Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer) {
|
|
|
// 配置序列化(解决乱码的问题),过期时间600秒
|
|
|
RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig()
|
|
|
.computePrefixWith(cacheName -> "entity:" + cacheName + ":")
|