2.4. 管理过时数据的策略
如果 Data Grid 不是数据的主要来源,则嵌入式和远程缓存会完全过时。在规划、基准测试和调优您的数据网格部署时,为您的应用选择适当的缓存过时级别。
选择一个允许您最佳使用可用 RAM 并避免缓存丢失的级别。如果 Data Grid 在内存中没有条目,则当应用程序发送读取和写入请求时调用主存储。
缓存未命中会增加读取和写入的延迟,但在很多情况下,对主存储的调用比数据网格的性能损失要高得多。其中一个例子是将关系数据库管理系统(RDBMS)卸载到 Data Grid 集群。以这种方式部署数据网格大大降低了运行传统数据库的财务成本,因此,在缓存中容忍更高程度的陈旧条目有意义。
借助 Data Grid,您可以为条目配置最大空闲和寿命值,以保持可接受的缓存过时级别。
- 过期
- 控制 Data Grid 将条目保留在缓存中的时间,并在集群间生效。
更高的过期值意味着条目保留在内存中较长,这会增加读取操作返回过时值的可能性。较低过期值意味着缓存中存在较少的过时值,但缓存丢失的可能性更大。
为了执行过期,Data Grid 会从现有的线程池中创建一个收据器。线程的主要性能考虑是在过期运行之间配置正确的间隔。较短的间隔执行更频繁的过期,但使用更多线程。
另外,在最大闲置过期时,您可以控制 Data Grid 如何在集群中更新时间戳元数据。Data Grid 发送 touch 命令,以协调同步或异步节点间的最大闲置过期时间。使用同步复制时,您可以选择 "sync" 或 "async" touch 命令,具体取决于您首选一致性还是速度。