如何知道是否Couchbase更新或插入使用UPSERT记录

问题描述 投票:3回答:1

我使用Couchbase的Java SDK来读取和写入数据。目前,我有大量的需要被保存在Couchbase记录。这些记录包含两种新的或现有的一个。

我使用Bucket.upsert此功能。但我也需要捕获多少记录被创建或更新到Couchbase。

如何有效地实现这一目标?以下是我现在有我的伪代码

JsonDocument doc = bucket.get("docId")
if (doc != null) {
    // Perform update
    updatedCount++;
} else {
    // perform insert
    insertedCount++;
}

任何想这样做更好的方法。因为我有超过50万点的记录保存到Couchbase。

java-8 couchbase
1个回答
3
投票

不幸的是,我们目前没有暴露的UPSERT是否确实插入或更新。

如果你愿意采取一些性能损失,你可以,如果插入失败直接做后面的更新插入,并跟踪插入不是经常发生。这应该给你的频率,而不是更新UPSERT会做插入一些指示。

如果这是太大的性能损失,你可以做的1/1000或1 / 1,000,0000操作两步操作。这应该保持性能损失可控,同时产生有用的信息。

© www.soinside.com 2019 - 2024. All rights reserved.