2.2.4. 级别一(L1)缓存
当数据节点从集群中的另一节点检索条目时,Data Grid 节点会创建本地副本。L1 缓存避免重复在主所有者节点上查找条目并添加性能。
下图演示了 L1 缓存如何工作:
图 2.4. L1 缓存

在 "L1 缓存" 图表中:
-
客户端调用
cache.get ()来读取集群中另一节点是主所有者的条目。 - originator 节点将读取操作转发到主所有者。
- 主所有者返回 key/value 条目。
- 原始器节点创建本地副本。
-
后续的
cache.get ()调用会返回本地条目,而不转发到主所有者。
L1 缓存性能
启用 L1 提高了读取操作的性能,但需要主所有者节点在修改条目时广播无效的消息。这样可确保数据网格在集群中删除任何日期副本。然而,这也降低了写操作的性能并增加内存用量,从而减少缓存的整体容量。
注意
与任何其他缓存条目一样,数据网格驱除并过期本地副本或 L1 条目。
L1 缓存配置
XML
<distributed-cache l1-lifespan="5000"
l1-cleanup-interval="60000">
</distributed-cache>
JSON
{
"distributed-cache": {
"l1-lifespan": "5000",
"l1-cleanup-interval": "60000"
}
}
YAML
distributedCache: l1Lifespan: "5000" l1-cleanup-interval: "60000"
ConfigurationBuilder
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.clustering().cacheMode(CacheMode.DIST_SYNC)
.l1()
.lifespan(5000, TimeUnit.MILLISECONDS)
.cleanupTaskFrequency(60000, TimeUnit.MILLISECONDS);