在不影响上次修改时间戳的情况下从 Infinispan 缓存中获取条目

Ori*_*Dar 2 java caching infinispan

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

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

诸如Ehcache Cache.getQuiet(Object key).

如果调用cache.containsKey,对闲置有影响吗?

Mud*_*man 5

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

cache.containsKey 将影响最大空闲,它将被刷新。

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

DataContainer<K, V> container = cache.getAdvancedCache().getDataContainer();
InternalCacheEntry<K, V> entry = container.peek(key);
Run Code Online (Sandbox Code Playgroud)

请注意,这可能不适用于分布式缓存,因为访问数据容器仅读取本地内容。虽然也提到了最高闲置不应该在一个集群的缓存使用这里,因为它不能保证在集群刷新无所事事。