首页 > 解决方案 > Apache Ignite Rest Api 调用

问题描述

我正在使用 REST Api 调用 Apache Ignite Cluster:

http://restapi-ignite-grid/ignite?cmd=size&cacheName=MyCache

我要回来 JSON :

{"successStatus":0,"affinityNodeId":null,"sessionToken":null,"error":null,"response":10}

据我了解,这意味着我在缓存“MyCache”中有 10 个对象。但是,当我尝试通过键获取特定对象时,我什么也没得到:

http://restapi-ignite-grid/ignite?cmd=get&key=1&cacheName=MyCache

{"successStatus":0,"affinityNodeId":<someValue>,"sessionToken":null,"error":null,"response":null}

我的应用程序没有构建我们放入缓存的名称/值对,因此实际的键可能不同。

我有几个问题:

  1. 如何获取特定缓存中所有键的列表?(我只能使用 REST API 调用)
  2. 如何在不重新启动集群的情况下从特定缓存中删除所有对象?

标签: jsonigniterest

解决方案


有关 REST 文档,请参见此处

简而言之,get 获取与您指定的键关联的值。因此,除非有一个值为 1 的整数键,否则您不会以这种方式获得任何记录。

  1. 您需要返回记录列表的扫描查询SQL 字段查询。没有返回所有记录的方法。有些人使用 Ignite 将数十亿条记录存储在一个缓存中
  2. REST API 没有可用的“全部删除”命令。大多数其他 API 都有明确的方法

推荐阅读