3.2. 从 Data Grid 控制台和 CLI 查询缓存
Data Grid Console 和 Data Grid 命令行界面(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.protoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为 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 peopleCopy 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 中,使用
put命令和--file=参数来添加每个条目,如下所示:put --encoding=application/json --file=personone.json personone
put --encoding=application/json --file=personone.json persononeCopy 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匹配的条目。