在不影响上次修改时间戳的情况下从 Infinispan 缓存中获取条目
get an entry from Infinispan cache without affecting last modify timestamp
有没有办法在不影响过期策略的情况下检查缓存中的条目(org.infinispan.Cache
实现)?
也就是说,如果我配置了maxIdle
,缓存操作的结果不会影响条目被驱逐的时间?
诸如 Ehcache
Cache.getQuiet(Object key)
.
如果调用cache.containsKey
,对闲置有影响吗?
关于寿命,从缓存中访问条目不会影响这一点。只有 maxIdle 受访问影响。
cache.containsKey
会影响max idle,会刷新
不更新空闲的唯一方法是遍历条目或直接使用 peek 通过 DataContainer 访问条目(此处显示)。
DataContainer<K, V> container = cache.getAdvancedCache().getDataContainer();
InternalCacheEntry<K, V> entry = container.peek(key);
请注意,这可能不适用于分布式缓存,因为访问数据容器只会读取本地内容。虽然也提到了不应该在集群缓存中使用最大空闲 here,因为它不能保证跨集群刷新空闲。
有没有办法在不影响过期策略的情况下检查缓存中的条目(org.infinispan.Cache
实现)?
也就是说,如果我配置了maxIdle
,缓存操作的结果不会影响条目被驱逐的时间?
诸如 Ehcache
Cache.getQuiet(Object key)
.
如果调用cache.containsKey
,对闲置有影响吗?
关于寿命,从缓存中访问条目不会影响这一点。只有 maxIdle 受访问影响。
cache.containsKey
会影响max idle,会刷新
不更新空闲的唯一方法是遍历条目或直接使用 peek 通过 DataContainer 访问条目(此处显示)。
DataContainer<K, V> container = cache.getAdvancedCache().getDataContainer();
InternalCacheEntry<K, V> entry = container.peek(key);
请注意,这可能不适用于分布式缓存,因为访问数据容器只会读取本地内容。虽然也提到了不应该在集群缓存中使用最大空闲 here,因为它不能保证跨集群刷新空闲。