第 2 章 缓存管理器


主要的入口点是可让您的 CacheManager 接口:

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

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

缓存管理器是高权对象,因此在大多数情况下,您应该为每个 JVM 实例化一个 CacheManager 实例。

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

缓存管理器具有生命周期,默认构造器也会调用 start () 方法。提供构造器的过载版本,但它们不会启动 CacheManager。但是,您必须先启动 CacheManager,然后才能创建缓存。

同样,当您不再需要正在运行的 CacheManager 时,您必须调用 stop (),以便释放资源。这也确保缓存管理器安全停止它控制的任何缓存。

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 标志生效,您必须启用全局状态并设置配置存储供应商。

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.