如何在Spring 4中定期刷新ConcurrentMapCache?

4
如果我使用 @Cashable 注解来使用 ConcurrentMapCacheManager 缓存结果,那么在 Spring 4.3.5 中如何定期刷新缓存呢?
看起来 Ehcache 提供了一些实现,它依赖于后端存储,但是如果我没有使用任何外部缓存后端存储,我想了解一下该怎么做。
我正在考虑的一个选项是定期调用一个方法,但是那个方法中会有什么实现呢?我将如何收集和调用所有这些可缓存的方法呢?
很好,我们来看一些例子。
1个回答

4

没有直接的Spring抽象来实现定期缓存刷新,您可以在spring文档这里进行验证,但是您可以使用简单的计划任务方法,例如下面的@Scheduled来实现相同的功能:

@Scheduled(cron = "${YOUR_CRON_INTERVAL}")
@CacheEvict(value = "yourCache", allEntries = true)
public void resetAllEntries() {
    //write the code to repopulate the cache again here
}

谢谢您的回复。我需要为每个缓存单独实现这个功能,对吗? - lex
是的,你说得对,为每个缓存实现相同的操作。 - developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接