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_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)用作角色名称。例如,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