如何从Aerospike命名空间中删除整套?

E V*_*ha 5 aerospike

有没有办法从命名空间(Aerospike)从aql或CLI中删除一个集合?

我的套装还包含Ldts.

请建议我从LDT删除整个Set的方法

Ans*_*eek 10

您可以使用删除一组

asinfo -v "set-config:context=namespace;id=namespace_name;set=set_name;set-delete=true;"
Run Code Online (Sandbox Code Playgroud)

此链接详细说明了如何删除该集

http://www.aerospike.com/docs/operations/manage/sets/#deleting-a-set-in-a-namespace

  • 有一种删除集合的新方法,可在此处记录的Aerospike 3.12中找到:http://www.aerospike.com/docs/reference/info#truncate (2认同)

小智 5

从 2017 年 3 月发布的 Aerospike Server 版本 3.12.0 开始,有一种新的更好的方法可以做到这一点:

asinfo -v "truncate:namespace=namespace_name;set=set_name"
Run Code Online (Sandbox Code Playgroud)

之前的命令已被弃用,并且仅适用于 2017 年 4 月发布的 Aerospike 3.12.1:

asinfo -v "set-config:context=namespace;id=namespace_name;set=set_name;set-delete=true;"
Run Code Online (Sandbox Code Playgroud)

新命令在几个方面有所改进:

  • 可以在迁移期间发布
  • 可以在数据写入集合时发出
  • 仅在集群的一个节点上运行就足够了

我在这些条件下使用了它(在迁移期间,在 1 个节点上写入数据时)并且它运行得非常快。一个包含 3000 万条记录的集合在大约 6 秒内减少到 1000 条记录。(那1000条记录大概就是那6秒内写的)

详细信息在这里