【问题标题】:get an entry from Infinispan cache without affecting last modify timestamp从 Infinispan 缓存中获取条目而不影响上次修改时间戳
【发布时间】:2016-02-04 17:47:39
【问题描述】:

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

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

诸如EhcacheCache.getQuiet(Object key)之类的东西。

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

【问题讨论】:

    标签: java caching infinispan


    【解决方案1】:

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

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

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

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

    请注意,这可能不适用于分布式缓存,因为访问数据容器只会读取本地内容。虽然也提到了 max idle 不应该在集群缓存here 中使用,因为它不能保证跨集群刷新空闲。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-22
      • 2021-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多