报错:
Cannot resolve constructor'RedisCacheManager(orgspringframeworkdata.reds.core.RedisTemplatesjava.lang.Object,com.demo.webdemo.pojo.User>"
springboot2.x对RedisCacheManager发生了改动,RedisCacheManager的单个参数不再适用。
因此,想要对进行json对象序列化,请看如下代码
@Bean
public CacheManager redisCacheManager(RedisConnectionFactory factory){
Jackson2JsonRedisSerializer<User> user = new Jackson2JsonRedisSerializer<>(User.class);
RedisCacheConfiguration cacheManager =
RedisCacheConfiguration.defaultCacheConfig()
//设置缓存有效时间(1小时)
.entryTtl(Duration.ofHours(1))
//不缓存null结果,若出现null结果时会报异常
.disableCachingNullValues()
//以json形式序列化对象
.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(user));
return RedisCacheManager.builder(factory).cacheDefaults(cacheManager).build();
}