这可以用Ehcache解决吗?

时间:2014-01-29 08:48:43

标签: java caching ehcache

我想将Ehcache用于以下任务:

一个例行程序每天只能执行 n 次。每次调用时,数据库中的计数器都会减少。当它达到0时,这个事实在共享哈希映射(在当前日期下提交)中表示,并且在一天结束之前无需联系数据库。数据库计数器在午夜由异步任务重置为 n ,哈希映射没有适当的新日期条目,并且数据库轮询将恢复。

现在我想在Ehcache中实现这种行为,因为我们已经将它用于其他缓存,并且因为我希望能够在一个地方关闭所有缓存。这带来了以下问题:

  1. 缓存激活的条件仅在@Cacheable方法内部已知(当发现DB计数器为零时)。这可能排除了声明性缓存规范,对吗?
  2. 生存时间需要指定为时间点,而不是持续时间。这可能吗?

1 个答案:

答案 0 :(得分:2)

如果你想用ehcache做这件事,你可能必须实施驱逐政策。

见这里:http://ehcache.org/documentation/apis/cache-eviction-algorithms#plugging-in-your-own-eviction-algorithm