回答
删除一整套可以删除设置使用
asinfo -v "set-config:context=namespace;id=namespace_name;set=set_name;set-delete=true;"
此链接详细解释了该组如何删除
http://www.aerospike.com/docs/operations/manage/sets/#deleting-a-set-in-a-namespace
请注意,您需要重新启动节点(逐个避免停机),因为您不会检索剩余空间的垃圾箱。
我的意思是Aerospike中箱子的最大限制是32,767。如果您只是删除并重新创建了多次设置,如果每次创建10000个分档,则第四次将无法创建超过2,767个分档,因为分档计数器保存在内存中。
如果你重新启动你的群集,它将被释放。
限制在bin _names_上,当然不是实际的bin。 地图没有限制。如果您在垃圾箱内使用地图,则可以使用尽可能多的名称。 – 2017-03-30 23:36:06
您也可以删除一组与Java客户端如下:
(1)使用客户端 “执行” 的方法,这对所有查询行施加一个UDF
AerospikeClient.execute(WritePolicy policy, Statement statement, String packageName, String functionName, Value... functionArgs) throws AerospikeException
( 2)定义语句,以包括给定的所有行:
Statement statement = new Statement();
statement.setNamespace("my_namespace");
statement.setSetName("my_set");
(3)指定删除定记录一个UDF:
function delete_rec(rec)
aerospike:remove(rec)
end
(4)调用方法:
ExecuteTask task = AerospikeClient.execute(null, statement, "myUdf", "delete_rec")
task.waitTillComplete(timeout);
它是高性能?不清楚,但我的猜测是asinfo
比较好。但是对于测试/调试/设置非常方便。
我建议查看3.12中介绍的新“截断”功能:http://www.aerospike.com/docs/reference/info#truncate – 2017-03-30 02:37:56
您不能动态地从RDMS中的“drop table”这样的名称空间中删除一个集合。
使用asinfo只有一套里面懒洋洋地删除数据下面的命令:
asinfo -v "set-config:context=namespace;id=namespace_name;set=set_name;set-delete=true;"
有一个post关于它的讨论塞的网站,我没有看到这个问题上取得进展呢。
您可以从Aerospike 3.12开始。 – 2017-03-30 02:36:27
@BrianBulkowski酷〜 – 2017-03-30 11:09:40
您不能删除一个集合,但可以通过扫描所有记录并逐个删除,删除集合中存在的所有记录。 C#示例代码,将这样的伎俩:
AerospikeClient.ScanAll(null, AerospikeNameSpace, category, DeleteAllRecordsCallBack);
这里DeleteAllRecordsCallBack
是一个回调函数在那里你可以删除记录一个接一个。这个回调函数被所有记录调用。
private void DeleteAllRecordsCallBack(Key key, Record record)
{
AerospikeClient.Delete(null, key);
}
在我们的生产经验,特别java deletion utility作品相当不错,即使没有近期推出durable deletes。您可以从源构建它,把某处集群附近,这样运行的:
java -jar delete-set-1.0.0-jar-with-dependencies.jar -h <aerospike_host> -p 3000 -s <set_to_delete> -n <namespace_name>
在我们的督促环境冷重启是非常罕见的事件,基本上塞崩溃时。数据流量非常高,因此碎片整理在早期开始,我们甚至没有僵尸记录问题。
BTW asinfo
前面提到的方式对我们不起作用。记录在那里呆了几天,所以我们使用delete-set
工具马上工作。
从2017年3月发布的Aerospike 3.12开始,数据库现在支持删除集合或名称空间中所有数据的功能。
请参阅下列文件: http://www.aerospike.com/docs/reference/info#truncate
它提供了命令行命令,看起来像: asinfo截断:命名空间=;设置=; LUT =
也可以从客户端截断API,这里是java文档: http://www.aerospike.com/apidocs/java/com/aerospike/client/AerospikeClient.html 并向下滚动到“截断”方法。
请注意,此功能可以选择时间规格。这允许您删除记录,然后开始插入新记录。随着时间戳的使用,请确保您的服务器时钟很好地同步。
还有就是要做到这一点作为塞式服务器3.12.0版本的新和更好的方式,于2017年月发布:
asinfo -v "truncate:namespace=namespace_name;set=set_name"
此之前的命令已被弃用,并且只能达到3.12塞式。 1,发布了2017年4月:
asinfo -v "set-config:context=namespace;id=namespace_name;set=set_name;set-delete=true;"
新的命令是在几个方面较好:
- 可以b而数据被写入到该组
- 是足够的迁移期间上运行它只是一个集群
我用它在这些条件下的节点(迁移
详细here
- 1. 命名空间从XSLT中删除
- 2. XSLT删除命名空间
- 3. 删除命名空间
- 4. 如何从PowerShell输出中删除属性命名空间?
- 5. 如何使用XSLT从XML中删除命名空间
- 6. 如何从输出xml中删除命名空间?
- 7. 如何从元素中删除的命名空间
- 8. 如何列出Citrusleaf/AeroSpike主机的命名空间?
- 9. 如何在多个命名空间中命名空间函数?
- 10. 如何删除命名空间和一个XML
- 11. 如何从文件名中删除空白空间
- 12. 删除命名空间在datacontract
- 13. 嵌套命名空间删除
- 14. 删除命名空间前缀
- 15. 如何删除Zend_Soap中的命名空间?
- 16. 从FxCop代码分析中排除完整的命名空间?
- 17. 从WebService中删除名称空间
- 18. aerospike:删除集合中的所有记录
- 19. 使用.runsettings从程序集中排除命名空间
- 20. 从wcf中删除不必要的xsi和xsd命名空间
- 21. 从soapenv中删除多余的XML命名空间:Body
- 22. 从生成的XML在.NET中删除命名空间
- 23. 从Spyne响应变量中删除命名空间
- 24. 从不同命名空间的插件类中删除操作
- 25. 从Savon SOAP请求中删除命名空间
- 26. 如何从mongodb集合中删除空字符串?
- 27. 在整个项目中删除名称空间的一部分
- 28. 如何从最终删除空空间
- 29. 如何使用命名空间系统:集合
- 30. 如何从使用C#的XML元素中删除命名空间
有删除组的新途径,在塞式3.12可用的,这里记载: http://www.aerospike.com/docs/reference/info#truncate – 2017-03-30 02:37:20