Infinispan L2缓存自定义驱逐策略

时间:2013-03-26 19:00:07

标签: hibernate jboss infinispan cpu-cache

我打算使用infinispan作为我的Hibernate应用程序L2缓存。我的所有实体都有一个生命周期属性[New - >运行 - >完成]。最初我的实体处于新状态,当时间过去时,它会移动到其他状态。

简单地说,当实体生命周期属性状态到达“已完成”状态时,我想从缓存中逐出实体。与我的理解一样,Infinispan不支持自定义驱逐政策。什么是处理我的情况的最佳方式?

1 个答案:

答案 0 :(得分:0)

我会在适当的时候使用Cache API中的evict(key)方法实现我自己的逻辑。

  

public void evict(K key)

     

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

一旦"key1"的实体达到其已完成状态,您可以触发ispnCache.evict("key1");进行驱逐。