从Infinispan缓存中获取一个条目,而不会影响上次修改时间戳

时间:2015-11-04 09:40:33

标签: java caching infinispan

有没有办法在不影响过期策略的情况下检查缓存中的条目(org.infinispan.Cache实现)?

意思是,如果我已配置maxIdle,缓存操作的结果不会影响该条目将被驱逐的时间?

Ehcache Cache.getQuiet(Object key)等内容。

如果拨打cache.containsKey,是否会对闲置有影响?

1 个答案:

答案 0 :(得分:4)

关于生命周期,从缓存访问条目不会影响这一点。只有maxIdle受访问影响。

cache.containsKey会影响最大空闲时间,并且会刷新。

不更新空闲的唯一方法是迭代条目或使用peek直接通过DataContainer访问条目(如此处所示)。

DataContainer<K, V> container = cache.getAdvancedCache().getDataContainer();
InternalCacheEntry<K, V> entry = container.peek(key);

请注意,对于分布式缓存,这可能无法正常工作,因为访问数据容器只会读取本地内容。虽然还提到最大空闲不应该在群集缓存here中使用,因为不能保证跨群集刷新空闲。