3.6. 近缓存
接近缓存对 Hot Rod 客户端是本地的,并存储最近使用的数据,因此每个读取操作不需要遍历网络,这会显著提高性能。
接近缓存:
使用 read 操作填充,对
get()
或getVersioned()
方法的调用。
在以下示例中,put()
调用不会填充接近缓存,并且只对条目无效(如果已存在)无效:cache.put("k1", "v1"); cache.get("k1");
cache.put("k1", "v1"); cache.get("k1");
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在 Data Grid Server 上的远程缓存中更新或删除条目时,将客户端监听程序注册为无效条目。
如果条目无效后请求,客户端必须再次从远程缓存中检索这些条目。 - 当客户端切换到不同的服务器时,将被清除。
接近缓存的绑定
您应该始终通过指定可以包含的最大条目数来使用绑定近缓存。当接近缓存达到最大条目数时,驱除会自动发生以删除旧条目。这意味着您不需要手动将缓存大小放在客户端 JVM 的边界内。
不要将最大空闲过期用于接近缓存,因为 near-cache 读取不会传播上次访问时间的条目。
Bloom 过滤器
Bloom 过滤器通过减少失效消息总数来优化写入操作的性能。
Bloom 过滤器:
- 驻留在 Data Grid Server 上,并跟踪客户端所请求的条目。
-
需要每个服务器具有最多活跃连接的连接的连接,并使用
WAIT
耗尽的操作。 - 无法用于未绑定近的缓存。
3.6.1. 配置 Near Cache 复制链接链接已复制到粘贴板!
使用近缓存配置 Hot Rod Java 客户端,将最近使用的数据存储在客户端 JVM 中。
流程
- 打开您的 Hot Rod Java 客户端配置。
配置每个缓存,以使用
nearCacheMode(NearCacheMode.INVALIDATED)
方法执行近缓存。注意数据网格提供全局近缓存配置属性。但是,这些属性已弃用,您不应该使用它们,而是根据缓存配置近缓存。
-
指定使用
nearCacheMaxEntries()
方法驱除前近缓存可以容纳的最大条目数。 -
使用
nearCacheUseBloomFilter()
方法启用用于接近缓存的 bloom 过滤器。