gpt4 book ai didi

java - Couchbase 查询没有看到最近添加的文件

转载 作者:行者123 更新时间:2023-11-29 04:57:50 25 4
gpt4 key购买 nike

我正在使用 CouchBase 4.0 和 java sdk 2.2 进行测试。我正在插入 10 个文档,它们的键总是以“190”开头。

插入这 10 个文档后,我用以下方法查询它们:

cb.restore("190", cache);
Thread.sleep(100);
cb.restore("190", cache);

“恢复”方法中的查询是:

Statement st = Select.select("meta(c).id, c.*").from(this.bucketName + " c").where(Expression.x("meta(c).id").like(Expression.s(callId + "_%")));
N1qlQueryResult result = bucket.query(st);

第一次调用 restore 返回 0 个文档:

Query 'SELECT meta(c).id, c.* FROM cache c WHERE meta(c).id LIKE "190_%"' --> Size = 0

第二次调用(100 毫秒后)返回 10 个文档:

Query 'SELECT meta(c).id, c.* FROM cache c WHERE meta(c).id LIKE "190_%"' --> Size = 10

我尝试在“插入”语句中添加 PersistTo.MASTER,但它都不起作用。

似乎“插入”并没有立即持久化。

非常感谢任何帮助。

琼。

最佳答案

您正在使用 N1QL 查询数据 - N1QL 只是最终一致的(默认情况下),因此它只会在重新计算索引后显示。这与数据是否持久化(意思是:从 RAM 写入磁盘)无关。

您可以尝试更改 scan_consitency 级别的默认值 - NOT_BOUNDED - 以获得一致的结果,但这需要更长的时间才能返回。

read more here

java scan_consitency options

关于java - Couchbase 查询没有看到最近添加的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33105847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com