【问题标题】:Apache Ignite Rest Api callsApache Ignite Rest Api 调用
【发布时间】:2023-03-20 15:03:01
【问题描述】:

我正在使用 REST Api 调用 Apache Ignite 集群:

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. 如何在不重启集群的情况下从特定缓存中删除所有对象?

【问题讨论】:

    标签: json ignite rest


    【解决方案1】:

    有关 REST 文档,请参阅 here

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

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

    【讨论】:

    • 谢谢。 “大多数 API 都有明确的方法”是什么意思?我检查了 Ignite Rest API 并没有找到“清除”命令。我还检查了“ignitevisorcmd”,在那里我可以使用“cache”命令来获取条目以及清除缓存。不幸的是,在我们当前的设置中(Ignite Cluster 在 OpenShift 容器中运行)我无法访问该实用程序
    猜你喜欢
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多