我有一个用例,我们试图从 Redis 缓存中存储和检索内容。我们正在使用
spring-starter-cache
来利用底层的 redis 缓存存储。
@Bean
public RedisCacheManager dayCacheManager() {
RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
.serializeKeysWith(
RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()))
.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(RedisSerializer.json()))
.entryTtl(Duration.ofHours(10));
return new CustomCacheManager(redisCacheWriter, redisCacheConfiguration);
}
这是我们当前配置的缓存bean
@Cacheable(value = "cachename", cacheManager = "dayCacheManager", key = "{#unitList}")
public EntityModel<PerformanceSummary> getWeekPerformanceSummary(String unitList) {
//call API to get the data
}
有了这个,我们既不能将
EntityModel<PerformanceSummary>
存储在redis缓存中,也不能检索它。克服这个问题的正确方法是什么?