3.4. 创建远程缓存
当您在运行时创建远程缓存时,Data Grid 服务器会在集群中同步您的配置,以便所有节点都有副本。因此,您应该始终使用以下机制动态创建远程缓存:
- Data Grid 控制台
- Data Grid 命令行界面(CLI)
- 热 Rod 或 HTTP 客户端
3.4.1. 默认缓存管理器 复制链接链接已复制到粘贴板!
Data Grid Server 提供了一个默认的缓存管理器,用于控制远程缓存的生命周期。启动 Data Grid 服务器会自动实例化缓存管理器,以便您可以创建和删除远程缓存和其他资源,如 Protobuf 模式。
启动 Data Grid 服务器并添加用户凭证后,您可以查看缓存管理器的详情,并从 Data Grid 控制台获取集群信息。
-
在任何浏览器中打开
127.0.0.1:11222。
您还可以通过命令行界面(CLI)或 REST API 获取有关缓存管理器的信息:
- CLI
在 default 容器中运行
describe命令。[//containers/default]> describe- REST
-
在任何浏览器中打开
127.0.0.1:11222/rest/v2/container/。
默认缓存管理器配置
XML
<infinispan>
<!-- Creates a Cache Manager named "default" and enables metrics. -->
<cache-container name="default"
statistics="true">
<!-- Adds cluster transport that uses the default JGroups TCP stack. -->
<transport cluster="${infinispan.cluster.name:cluster}"
stack="${infinispan.cluster.stack:tcp}"
node-name="${infinispan.node.name:}"/>
<!-- Requires user permission to access caches and perform operations. -->
<security>
<authorization/>
</security>
</cache-container>
</infinispan>
JSON
{
"infinispan" : {
"jgroups" : {
"transport" : "org.infinispan.remoting.transport.jgroups.JGroupsTransport"
},
"cache-container" : {
"name" : "default",
"statistics" : "true",
"transport" : {
"cluster" : "cluster",
"node-name" : "",
"stack" : "tcp"
},
"security" : {
"authorization" : {}
}
}
}
}
YAML
infinispan:
jgroups:
transport: "org.infinispan.remoting.transport.jgroups.JGroupsTransport"
cacheContainer:
name: "default"
statistics: "true"
transport:
cluster: "cluster"
nodeName: ""
stack: "tcp"
security:
authorization: ~
3.4.2. 使用 Data Grid 控制台创建缓存 复制链接链接已复制到粘贴板!
使用 Data Grid 控制台从任何 Web 浏览器使用直观的可视化界面创建远程缓存。
先决条件
-
创建具有
admin权限的 Data Grid 用户。 - 至少启动一个 Data Grid 服务器实例。
- 具有 Data Grid 缓存配置。
流程
-
在任意浏览器中打开
127.0.0.1:11222/console/。 - 选择 Create Cache 并按照步骤操作,作为 Data Grid Console 指南。
3.4.3. 使用 Data Grid CLI 创建远程缓存 复制链接链接已复制到粘贴板!
使用 Data Grid 命令行界面(CLI)在 Data Grid Server 中添加远程缓存。
先决条件
-
创建具有
admin权限的 Data Grid 用户。 - 至少启动一个 Data Grid 服务器实例。
- 具有 Data Grid 缓存配置。
流程
启动 CLI。
bin/cli.sh-
运行
connect命令,并在提示时输入您的用户名和密码。 使用
create cache命令创建远程缓存。例如,从名为
mycache.xml的文件创建一个名为 "mycache" 的缓存,如下所示:create cache --file=mycache.xml mycache
验证
使用
ls命令列出所有远程缓存。ls caches mycache使用
describe命令查看缓存配置。describe caches/mycache
3.4.4. 从 Hot Rod 客户端创建远程缓存 复制链接链接已复制到粘贴板!
使用 Data Grid Hot Rod API 从 Java、C++、.NET/C#、JS 客户端等在 Data Grid Server 上创建远程缓存。
此流程演示了如何使用 Hot Rod Java 客户端在首次访问时创建远程缓存。您可以在 Data Grid Tutorials 中找到其他 Hot Rod 客户端的代码示例。
先决条件
-
创建具有
admin权限的 Data Grid 用户。 - 至少启动一个 Data Grid 服务器实例。
- 具有 Data Grid 缓存配置。
流程
-
调用
remoteCache ()方法,作为ConfigurationBuilder的一部分。 -
在 classpath 上的
hotrod-client.properties文件中设置configuration或configuration_uri属性。
ConfigurationBuilder
File file = new File("path/to/infinispan.xml")
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.remoteCache("another-cache")
.configuration("<distributed-cache name=\"another-cache\"/>");
builder.remoteCache("my.other.cache")
.configurationURI(file.toURI());
hotrod-client.properties
infinispan.client.hotrod.cache.another-cache.configuration=<distributed-cache name=\"another-cache\"/>
infinispan.client.hotrod.cache.[my.other.cache].configuration_uri=file:///path/to/infinispan.xml
如果远程缓存的名称包含 . 字符,则必须在使用 hotrod-client.properties 文件时将其放在方括号中。
3.4.5. 使用 REST API 创建远程缓存 复制链接链接已复制到粘贴板!
使用 Data Grid REST API 从任何合适的 HTTP 客户端在 Data Grid Server 上创建远程缓存。
先决条件
-
创建具有
admin权限的 Data Grid 用户。 - 至少启动一个 Data Grid 服务器实例。
- 具有 Data Grid 缓存配置。
流程
-
使用有效负载中的缓存配置调用
POST请求到/rest/v2/caches/<cache_name>。