Apache Ignite REST API使用问题:查询缓存全量键与清空缓存方法
问题解答
1. 仅通过REST API获取指定缓存所有键列表
你可以使用Apache Ignite REST API提供的扫描查询接口实现,对应请求参数cmd=qryScan,示例请求如下:
http://restapi-ignite-grid/ignite?cmd=qryScan&cacheName=MyCache&pageSize=100
参数说明:
pageSize:单次请求返回的键值对数量,如果你确定缓存总大小不高,可以直接设置为和缓存size一致的数值,一次性拉取所有数据。- 如果缓存数据量较大,接口返回结果中会附带
cursorId,你可以在后续请求中携带该参数分页拉取剩余数据,请求格式示例:http://restapi-ignite-grid/ignite?cmd=qryScan&cacheName=MyCache&cursorId=返回的cursor值&pageSize=100
返回结果的response字段中会包含所有查询到的键、值列表,你可以从中提取完整的键集合。
*小提示:你之前查询key=1返回空的问题,大概率是键类型不匹配导致的。Ignite REST API默认会将传入的key参数解析为字符串类型,如果实际存储的键是Long、Integer或者自定义类型,可以在get请求中添加keyType参数指定键的全限定类名,比如要查询Long类型的键1可以用如下请求:
http://restapi-ignite-grid/ignite?cmd=get&key=1&keyType=java.lang.Long&cacheName=MyCache ```* ## 2. 无需重启集群清空指定缓存 直接调用`cmd=clear`接口即可,该操作只会清空指定缓存的所有数据,不会删除缓存本身,也不需要重启集群,示例请求如下:
http://restapi-ignite-grid/ignite?cmd=clear&cacheName=MyCache
接口返回`successStatus=0`即代表清空操作执行成功。 内容的提问来源于stack exchange,提问作者vs777
相关产品推荐
相关产品推荐

