0

我打算使用 infinispan 作为我的 Hibernate 应用 L2 缓存。我的所有实体都有一个生命周期属性 [New -> Run -> Completed]。最初我的实体处于新状态,随着时间的推移,它会转移到其他状态。

简单地说,我想在实体生命周期属性状态到达 Completed 状态时从缓存中驱逐实体。据我了解,Infinispan 不支持自定义驱逐策略。处理我的情况的最佳方法是什么?

4

1 回答 1

1

我会evict(key)在正确的时间使用缓存 API 中的方法来实现我自己的逻辑。

公共无效驱逐(K键)

从缓存的内存中驱逐一个条目。请注意,该条目不会从任何已配置的缓存存储或集群中的任何其他缓存中删除(如果在集群模式下使用)。使用 Cache.remove(Object) 从整个缓存系统中删除一个条目。

一旦实体"key1"达到其已完成状态,您就可以开火ispnCache.evict("key1");驱逐。

于 2013-05-18T06:41:46.157 回答