返回介绍

14.2 缓存与域

发布于 2025-04-22 19:57:22 字数 1140 浏览 0 评论 0 收藏 0

从概念上讲, 缓存 就是单例的对象,可访问 GemFire 成员,并提供了许多内存调整、网络连接以及其他功能的配置选项。缓存也可以作为 的容器,域提供了数据管理和存取的功能。

域必须从缓存中存储和检索数据。域接口扩展了 java.util.Map,从而可以使用熟悉的键/值语义来执行基本数据的存取。域接口装配到需要它的类之中,这样实际的域类型会与编程模型解耦合(这里有一些注意事项,留给读者作为思考练习)。通常每个域都会关联一个领域对象,类似于关系数据库中的表。观察示例代码,会看到 3 个域定义:Customer、Product 和 Order。需要注意的是 GemFire 不负责管理每个域之间关联关系的完整性。

GemFire 包含以下几个域类型。

复制域Replicated

数据会在域所定义的缓存成员之间复制,因此提供了高效的读取性能,但是因为需要进行数据复制,所以写入耗时较长。

分区域Partitioned

域会将数据分成桶(bucket)并分布存储在定义域的缓存成员之间,以提供高效的读写性能,适用于非常大型且无法在单个节点存储的数据集。

本地域Local

数据仅存放在本地节点上。

客户域Client

从技术上说客户域就是本地域,它作为复制域或分区域在缓存服务器上的代理。它可以持有本地创建或读取的数据,也可以是空的。在本地所做的更新会与缓存服务器同步。此外,客户域可以订阅事件,使得当存取相同域的远程进程发生变化时可保持同步。

希望以上简要的介绍能让你体验到 GemFire 灵活性和成熟度。对 GemFire 可选项与功能的详细讨论已经超出了本书范围,有兴趣的读者可以在产品网站( http://www.vmware.com/products/application-platform/vfabric-gemfire )找到更多详细资料。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。