我正在使用Couchbase Java SDK读取和写入数据。目前,我拥有大量需要保存在Couchbase中的记录。这些记录包含新记录或现有记录。
我正在使用Bucket.upsert来实现此功能。但是我还需要捕捉到在Couchbase中创建或更新了多少条记录。
如何有效实现这一目标?以下是我现在拥有的伪代码
JsonDocument doc = bucket.get("docId")
if (doc != null) {
// Perform update
updatedCount++;
} else {
// perform insert
insertedCount++;
}
任何想做这种更好方法的人。因为我有超过50万条记录要保存到Couchbase中。
答案 0 :(得分:3)
不幸的是,我们目前不公开UPSERT是插入还是更新。
如果您希望对性能有所帮助,可以在插入失败后直接进行插入,然后进行更新,并跟踪插入失败的频率。那应该给你一些指示,一个高位插入将多久插入一次而不是更新。
如果这对性能影响太大,则可以用1/1000或1 / 1,000,0000操作执行两步操作。这样可以在产生有用信息的同时保持性能损失的可管理性。