15.4.3. 缓存

使用 cache-servicedatagrid-service创建和配置缓存

不要使用环境变量来使用 cache-servicedatagrid-service 创建并配置缓存。

这些环境变量仅用于部署配置模板,且已被弃用。

您应该通过 Hot Rod 端点动态使用 cache-servicedatagrid-service 进行远程创建缓存。如需更多信息,请参阅 远程创建缓存

CACHE_NAMES

在配置中定义缓存实例。

如果您使用 Data Grid 部署配置模板,且您不定义任何缓存实例,则启动脚本会在 SYNC 模式中添加了一个默认的分布式缓存。

提示

为您的配置中的每个缓存实例指定一个唯一的名称。使用下划线字符(_)和描述性标签可帮助您区分缓存实例。这样可确保在应用特定于缓存的配置时没有冲突。

例如,CACHE_NAMES=addressbook,addressbook_indexed

CACHE_CONTAINER_START

配置缓存容器启动方式。指定以下之一:

  • 在服务或部署请求时,LAZY 启动 cache 容器。这是默认值。
  • EAGER 在服务器启动时启动缓存容器。
CACHE_CONTAINER_STATISTICS
配置缓存容器以收集统计信息。值为 true (默认)或 false。您可以将值设为 false 以提高性能。
DEFAULT_CACHE
为缓存容器设置默认缓存。

15.4.3.1. 缓存容器安全配置

CONTAINER_SECURITY_CUSTOM_ROLE_MAPPER_CLASS

指定角色映射程序的自定义主体类。

例如,CONTAINER_SECURITY_CUSTOM_ROLE_MAPPER_CLASS=com.acme.CustomRoleMapper

CONTAINER_SECURITY_ROLE_MAPPER

使用以下值为此缓存容器设置 role mapper:

  • identity-role-mapper 将 Principal name 用作角色名称。如果您没有指定服务并使用 CONTAINER_SECURITY_ROLES 环境变量来定义角色名称,则这是默认角色映射程序。
  • 如果主体名称为可辨识的名称(DN),common-name-role-mapper 会将 Common Name(CN)用作角色名称。例如,DN cn=managers、ou=body,dc=example,dc=com 映射到 manager 角色名称。
  • cluster-role-mapper 使用 ClusterRegistry 来存储主体名称到角色映射。
  • custom-role-mapper 获取 org.infinispan.security.impl.PrincipalRoleMapper 接口的完全限定类名称。
CONTAINER_SECURITY_ROLES

定义角色名称并为它们分配权限。

例如,CONTAINER_SECURITY_ROLES=admin=ALL,reader=READ,writer=WRITE