5.4. 带有 lifespan 和最大闲置的过期

expiration 配置 Data Grid,以在访问以下时间限制之一时从缓存中删除条目:

lifespan
设置条目可以存在的最长时间。
最大闲置
指定条目可以保持闲置的时长。如果条目没有发生操作,它们就会变为空闲状态。
重要

目前,最大闲置有效期不支持使用持久性存储的缓存。

注意

如果您使用 EXCEPTION 驱除策略的过期和驱除,则过期但尚未从缓存中移除的条目,则计入数据容器的大小。

5.4.1. 过期如何工作

当您配置过期时,数据网格使用元数据存储密钥,以确定条目何时过期。

  • lifespan 使用 创建 时间戳,以及 lifespan 配置 属性的值。
  • 最大空闲时间 使用最后使用 的时间戳和 max-idle 配置属性的值。

数据网格检查是否设置了 lifespan 或最大闲置元数据,然后将值与当前时间进行比较。

如果 (creation + lifespan < currentTime)(lastUsed + maxIdle < currentTime),Data Grid 检测到条目已过期。

每当访问或者由过期程序访问或找到条目时,就会发生过期时间。

例如,k1 达到最大空闲时间,客户端发出 Cache.get (k1) 请求。在本例中,Data Grid 检测到条目已过期并将其从数据容器中删除。Cache.get (k1) 请求返回 null

数据网格还从缓存存储过期条目,但仅过期时间。最大空闲的过期时间无法使用缓存存储。在缓存加载程序的情况下,Data Grid 无法过期条目,因为加载程序只能从外部存储中读取。

注意

数据网格为缓存条目的 原语 数据类型添加过期元数据。这可以将密钥大小增加到 32 字节。