【发布时间】:2012-02-05 23:04:25
【问题描述】:
我正在使用 Spring 和 ehcache。使用查询我将数据填充到缓存中,这个过程必须每 10 分钟发生一次。有设置这个的配置吗??
提前致谢
【问题讨论】:
我正在使用 Spring 和 ehcache。使用查询我将数据填充到缓存中,这个过程必须每 10 分钟发生一次。有设置这个的配置吗??
提前致谢
【问题讨论】:
通常,ehCache 将用于提供一个 ttl 以自动使您的缓存无效。根据我从您的问题中收集到的信息,您要求每十分钟自动刷新一次缓存。为此,我将运行一个计划的服务来驱逐和重新加载。例如:
@Cachable("Foo")
public Foo getFoo() {
...
}
@CacheEvict("Foo")
public void evictFoo(){
...
}
@Scheduled(fixedRate = 10L * 60L * 1000L) //Ten minutes
public void automaticCacheRefresh(){
evictFoo();
getFoo();
}
【讨论】: