如果我使用 @Cashable
注释来缓存使用 ConcurrentMapCacheManager
的结果,那么我将如何在 Spring 4.3.5 中定期刷新缓存?
看起来 Ehcache 提供了一些实现,它取决于后备存储,但我想了解以防万一我不使用任何外部缓存后备存储。
我正在考虑的一个选项是定期调用一个方法,但是该方法将执行什么实现?我将如何收集并再次调用所有这些可缓存的方法?
看一些例子会很棒。
最佳答案
周期缓存刷新没有直接的spring抽象,也可以验证here来自 spring 文档,但是,您可以使用 @Scheduled
的简单计划方法实现相同的效果,如下所示:
@Scheduled(cron = "${YOUR_CRON_INTERVAL}")
@CacheEvict(value = "yourCache", allEntries = true)
public void resetAllEntries() {
//write the code to repopulate the cache again here
}
关于java - Spring 4如何定时刷新ConcurrentMapCache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42897537/