如何使用aql对Aerospike中特定容器中的所有列表进行排序?

时间:2018-06-27 17:37:16

标签: aerospike aql

我对Aerospike中的有序列表有一些疑问:

  1. 如何使用aql在数据库中查看列表是否有序?

  2. 排序列表是否表示已排序?

  3. 我想扫描数据库并更改所有列表(在特定的bin中)以进行排序。我想使用set_type,但似乎无法正常使用。那可能吗?我该怎么办?

谢谢

2 个答案:

答案 0 :(得分:2)

我认为AQL不是充分利用列表功能的正确工具。也许它尚未更新为列表的全部功能。它基于C客户端构建。至少我检查过的AQL版本3.15.2.1不是。您可能要编写一个Java客户端应用程序。

答案 1 :(得分:2)

我是在https://discuss.aerospike.com/t/list-oprations/5282此处发布您交叉发布的问题的答案:

您可以使用ScanPolicy.includeBinData=false扫描名称空间,对于每条记录摘要,您可以使用operate()将以下操作包装到单个事务中:

您只需运行一次即可清理数据库。

订购类型将适用于以后的所有操作。您将继续使用ListWriteFlags.ADD_UNIQUE列表策略。

这是针对Java客户端的,但是所有其他客户端都具有这些操作和策略。