15.4.3. 缓存
使用 cache-service 和 datagrid-service创建和配置缓存
不要使用环境变量来使用 cache-service 或 datagrid-service 创建并配置缓存。
这些环境变量仅用于部署配置模板,且已被弃用。
您应该通过 Hot Rod 端点动态使用 cache-service 和 datagrid-service 进行远程创建缓存。如需更多信息,请参阅 远程创建缓存。
CACHE_NAMES在配置中定义缓存实例。
如果您使用 Data Grid 部署配置模板,且您不定义任何缓存实例,则启动脚本会在
SYNC模式中添加了一个默认的分布式缓存。提示为您的配置中的每个缓存实例指定一个唯一的名称。使用下划线字符(_)和描述性标签可帮助您区分缓存实例。这样可确保在应用特定于缓存的配置时没有冲突。
例如,
CACHE_NAMES=addressbook,addressbook_indexedCACHE_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.CustomRoleMapperCONTAINER_SECURITY_ROLE_MAPPER使用以下值为此缓存容器设置 role mapper:
-
identity-role-mapper将 Principal name 用作角色名称。如果您没有指定服务并使用CONTAINER_SECURITY_ROLES环境变量来定义角色名称,则这是默认角色映射程序。 -
如果主体名称为可辨识的名称(DN),
common-name-role-mapper会将 Common Name(CN)用作角色名称。例如,DNcn=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