3.3. 从 Data Grid 控制台和 CLI 查询缓存
Data Grid Console 和 Data Grid Command Line Interface (CLI)可让您查询索引和非索引的远程缓存。您还可以使用任何 HTTP 客户端通过 REST API 索引和查询缓存。
此流程解释了如何索引和查询存储 Person
实例的远程缓存。
先决条件
- 至少有一个正在运行的 Data Grid 服务器实例。
- 具有具有创建权限的 Data Grid 凭据。
流程
在 Protobuf 模式中添加索引注解,如下例所示:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Data Grid CLI 中,使用带有
--upload=
参数的schema
命令,如下所示:schema --upload=person.proto person.proto
schema --upload=person.proto person.proto
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为 people 的缓存,它使用 ProtoStream 编码并将 Data Grid 配置为索引您的 Protobuf 模式中声明的实体。
以下缓存索引上一步中的
Person
实体:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 CLI 中,使用带有
--file=
参数的create cache
命令,如下所示:create cache --file=people.xml people
create cache --file=people.xml people
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 向缓存中添加条目。
要查询远程缓存,需要包含一些数据。在本例中,创建使用以下 JSON 值的条目:
PersonOne
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PersonTwo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PersonThree
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 CLI 中,使用带有
--file=
参数的put
命令来添加每个条目,如下所示:put --encoding=application/json --file=personone.json personone
put --encoding=application/json --file=personone.json personone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提示在 Data Grid Console 中,当使用自定义类型添加 JSON 格式的值时,您必须为 Value 内容类型 字段选择 Custom Type。
查询您的远程缓存。
在 CLI 中,使用远程缓存上下文中的
query
命令。query "from org.infinispan.example.Person p WHERE p.name='Person' ORDER BY p.age ASC"
query "from org.infinispan.example.Person p WHERE p.name='Person' ORDER BY p.age ASC"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查询返回所有名称与
Person
by age 匹配的条目(以升序表示)。