第 2 章 缓存管理器


Data Grid 的主要入口点是可让您访问的 CacheManager 接口:

  • 配置并获取缓存。
  • 管理和监控集群数据网格节点。
  • 在集群中执行代码。

如果您在应用程序中嵌入了 Data Grid,则使用 EmbeddedCacheManager。如果您将 Data Grid 作为远程服务器运行,请使用 RemoteCacheManager

缓存管理器是重量的对象,在大多数情形中,您应该在每个 JVM 中仅实例化一个 CacheManager 实例。

EmbeddedCacheManager manager = new DefaultCacheManager(); 1
1
启动没有缓存的本地非集群缓存管理器。

缓存管理器的生命周期以及默认构造器也调用 start () 方法。构造器的超载版本可用,但它们不会启动 CacheManager。但是,您必须在创建缓存前始终启动 CacheManager

同样,当您不再需要运行 CacheManager 时,您必须调用 stop (),以便其释放资源。这也可确保 Cache Manager 安全地停止其控制的任何缓存。

2.1. 获取缓存

配置 CacheManager 后,您可以获取和控制缓存。

调用 getCache (String) 方法以获取缓存,如下所示:

Cache<String, String> myCache = manager.getCache("myCache");

前面的操作会创建一个名为 myCache 的缓存(如果尚未存在),并返回它。

使用 getCache () 方法仅在您调用方法的节点上创建缓存。换句话说,它会执行一个本地操作,它必须在集群中的每个节点上调用。通常,在多个节点间部署的应用程序会在初始化过程中获取缓存,以确保缓存都是 对称的,并在每个节点上存在。

调用 createCache () 方法,以在整个集群中动态创建缓存,如下所示:

Cache<String, String> myCache = manager.administration().createCache("myCache", "myTemplate");

前面的操作还会在随后加入集群的任何节点上自动创建缓存。

默认情况下,您使用 createCache () 方法创建的缓存是临时的。如果整个集群关闭,则缓存重启后不会自动创建。

使用 PERMANENT 标志来确保缓存可以在重启后保留,如下所示:

Cache<String, String> myCache = manager.administration().withFlags(AdminFlag.PERMANENT).createCache("myCache", "myTemplate");

要使 PERMANENT 标志生效,您必须启用全局状态并设置配置存储提供程序。

有关配置存储供应商的更多信息,请参阅 GlobalStateConfigurationBuilder#configurationStorage ()

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.