当前位置: 首页 > 知识库问答 >
问题:

了解Infinispan逐出、过期和文件存储?

毋举
2023-03-14

考虑一个Infinispan缓存(版本5.3.0。最终),它具有以下属性,

  1. 有文件存储
  2. 钝化设置为true。

在理解缓存行为时,我有以下问题。

  1. 是否有两个线程用于逐出和过期
  2. 当过期线程运行时,文件中的条目会发生什么情况,但这些条目已过期?这些是否加载回内存并删除
  3. 这些线程运行的持续时间是多少
  4. 文件存储文件是否为仅附加文件
  5. 文件在此Infinispan版本中是否有索引
  6. 在这个Infinispan版本中,文件中到底存储了什么?它是关键价值还是仅仅价值

共有1个答案

贾实
2023-03-14

我不会谈论这样一个旧版本,但很可能是一样的。

>

  • 命名有点混乱,待定。有一个id为org的线程池。英菲尼斯潘。遗嘱执行人。默认情况下使用单线程逐出,该线程承载处理过期的ScheduledTask。只有在向数据容器中添加某些内容时,才会触发逐出,并且逐出由添加新项的线程处理。

    取决于缓存存储实现-cachestore SPI具有方法purgeExpired(),该方法强制从存储中删除过期的条目。无需将任何内容加载到内存中。

    默认值为1分钟。在配置中搜索唤醒间隔(或唤醒间隔)。

    不,没有经典文件存储。SoftIndexFileStore使用类似的技术。

    FileCacheStore只有几个“bucket”,它基于密钥哈希代码,SingleFileCacheStore(或KarstenFileCacheStore,取决于您的版本)具有内存索引。

    键和值。

  •  类似资料:
    • 我使用infinispan缓存版本5.1.6。FINA。我已经配置了命名缓存: 我用它来只在内存中存储一些数据。我在创建缓存时使用此配置,其中key是,value是,并且只保留4个元素总是只有4个。为此,我硬编码了4个键:1L、2L、3L、4L,有时只是更改这些元素的值。 如果缓存包含键为1L和2L的两个元素以及一些值,并且我尝试将另外两个元素与他的值相加,那么它们会相互重放。因此,缓存只保存键为

    • 我计划使用infinispan作为我的Hibernate应用程序二级缓存。My all entities具有生命周期属性[新建- 简单地说,当实体生命周期属性状态到达已完成状态时,我想从缓存中驱逐实体。据我所知,Infinispan不支持自定义驱逐策略。处理我的情况的最佳方式是什么?

    • 我有一个关于内存系统遵循的策略的基本问题。 考虑一个具有私有L1和L2缓存的核心。在L2缓存之后,我们有一个相干流量运行的总线。现在,如果从L2高速缓存中逐出地址(X)的高速缓存行,是否有必要从L1高速缓存中逐出该地址?? 逐出的原因可能是它有助于保持一致性协议的不变[如果l2中的一行显示无效,则此核心不包含此地址]。

    • 我不完全确定我该做什么了。我一直在网上到处乱翻东西,通读例子,但它们似乎都是如何加密一整个文件,或者只是加密一段数据,除了立即再次解密之外什么也不做。我该如何处理逐行书写?

    • 我正在努力理解这个概念。我清楚地了解期货是什么。我对Promises有点困惑。下面的代码片段: 现在,以下两个代码片段之间有什么区别? 和 我对第一个的理解是,p成功将完成与该p相关的未来计算。计算是异步的吗?这与使用 Future 块完成与 Promise p 关联的 Future f 的第二个代码片段有何不同?

    • 在我的项目中,我使用了一个@Cacheable注释ia一个服务方法,它返回涉及书籍和一些标记的计算结果,我想在一个@Controller类方法中退出缓存,该方法将一本新书添加到数据库中,因为这本新书将是新计算所必需的。 服务类:@Cacheable("metas") 控制器类:@RequestMapping@CacheEvict(value=“metas”,allEntries=true)