1.4. 缓存模式
Data Grid Cache Manager 可以创建和控制使用不同模式的多个缓存。例如,您可以使用相同的缓存管理器进行本地缓存、分发缓存和缓存,并带有 invalidation 模式。
- 本地缓存
- Data Grid 作为单一节点运行,永远不会在缓存条目上复制读取或写入操作。
- 集群缓存
- 在同一网络中运行的数据源实例可以自动发现相互发现并形成集群来处理缓存操作。
- Invalidation 模式
- 每当操作修改缓存中条目时,Data Grid 不会从所有节点中复制缓存条目,而不是从所有节点中复制过时的数据。Data Grid 仅执行本地读操作。
- 复制的缓存
- Data Grid 复制所有节点上的每个缓存条目,并仅执行本地读操作。
- 分布式缓存
- Data Grid 在节点的子集存储缓存条目,并将条目分配给固定所有者节点。Data Grid 请求从所有者节点读取操作,以确保它返回正确的值。
- scattered Caches
- Data Grid 在节点子集中存储缓存条目。默认情况下,Data Grid 为 scattered 缓存中的每个缓存条目分配一个主要所有者和一个备份所有者。Data Grid 以与分布式缓存相同的方式分配主要所有者,而备份所有者始终是启动写入操作的节点。Data Grid 从至少一个所有者节点读取操作,以确保它返回正确的值。
1.4.1. 缓存模式比较
您选择的缓存模式取决于您的数据所需的质量和保证。
下表总结了缓存模式之间的主要区别:
缓存模式 | clustered? | 读取性能 | 写入性能 | 容量 | 可用性 | 功能 |
---|---|---|---|---|---|---|
Local | 否 | 高 (本地) | 高 (本地) | 单一节点 | 单一节点 | complete |
Simple(简单) | 否 | 最高 (本地) | 最高 (本地) | 单一节点 | 单一节点 | 部分: 没有事务、持久性或索引。 |
Invalidation | 是 | 高 (本地) | 低 (所有节点,无数据) | 单一节点 | 单一节点 | 部分: 无索引。 |
复制 | 是 | 高 (本地) | 最低 (所有节点) | 最小节点 | 所有节点 | complete |
分布式 | 是 | Medium (所有者) | Medium (所有者节点) | 所有节点容量的总和除以所有者数。 | 所有者节点 | complete |
scattered | 是 | Medium (主要) | 更高 (单个 RPC) | 所有节点容量总和除以 2 个。 | 所有者节点 | 部分: 没有事务。 |