问题遇到的现象和发生背景
用@cacheable缓存null值的时候 redisTemplate是没问题的,缓存其他类型的值也没问题的
问题相关代码,请勿粘贴截图
@Bean @Primary
public CacheManager cacheManager(RedisConnectionFactory factory){
RedisCacheConfiguration defaultConfig = RedisCacheConfiguration.defaultCacheConfig()
.entryTtl(Duration.ofDays(defaultTimeout))
//解决多了双冒号问题
.computePrefixWith(name -> name);
//key serialize
defaultConfig = defaultConfig.serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()));
//value serialize
defaultConfig = defaultConfig.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer()));
return new RedisCacheEnhancer(RedisCacheWriter.nonLockingRedisCacheWriter(factory), defaultConfig);
}
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
只有这个:org.springframework.cache.support.NullValue 没有两边的编码