繁体   English   中英

如何从 Java 代码中刷新 Couchbase 桶?

[英]How to flush Couchbase bucket from Java code?

每次运行单元测试之前,我都需要清除 Couchbase 存储桶。 我使用的是 Java SDK > 2.0 版本。 在以前的版本中,我发现了这个很棒的方法http://www.couchbase.com/autodocs/couchbase-java-client-1.1.1/com/couchbase/client/ClusterManager.html#flushBucket(java.lang.String)但它在新版本中不存在。

有什么方法可以清除存储桶中的数据吗? 我可以通过获取文档的所有键然后将它们全部删除来删除,但我想使用更漂亮的方式。

实际上在2.x SDK中,您可以从Bucket实例中获取BucketManager ,这将允许您像以前一样奇妙地调用flush() ;)

请注意,在社区v4.0中刷新并使用N1QL查询可能会有风险。 我的集成测试失败了,因为有些文档在几十次运行后(甚至在30分钟后)没有被索引。 删除文档更安全。

您可以使用REST API删除存储桶: http//docs.couchbase.com/admin/admin/REST/rest-bucket-intro.html

使用 Couchbase Java SDK 3.x:

Cluster cluster = Cluster.connect(connectionString, username, password);
cluster.buckets().flushBucket(bucketName);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM