我正在为我构建的使用couchbase的应用程序编写一些集成测试。
我正在使用Java。我的问题是,如果我使用以下方法插入文档:
bucket.insert(rawJsonDocument);
然后立即运行N1qlQuery
,我是否希望在查询刚插入的文档时得到响应,或者在文档实际持久存储在存储桶之前是否有预期的时间段/延迟?
我看到我的测试间歇性失败的情况,因为找不到文档,但我重新运行了测试,并且它偶尔会工作。
couchbase存储桶对象是否与JPA中的EntityManager
具有类似的刷新操作类似?我知道flush在couchbase中有着完全不同的含义,但我正试图找出为什么我会看到这种行为。
我已使用控制台中的查询工具验证了查询语法。
答案 0 :(得分:2)
您可以选择一些一致性选项。虽然您需要仔细使用它们,并了解它将如何影响您的应用程序性能。
选项包括:
- 无限制(默认)
-RequestPlus - 等待所有文档更改和索引更新
-AtPlus - 允许'读你自己的写'
您在本博文中阅读了有关它们的讨论。 https://blog.couchbase.com/new-to-couchbase-4-5-atplus/