Couchbase中添加操作的Atomicy(Java SDK)

时间:2014-10-13 15:03:52

标签: couchbase

将Couchbase Server 2.2与Java SDK 1.4.4配合使用。

MemcachedClient::add(String key, int exp, Object o)状态继承的CouchbaseClient文档:“将对象添加到缓存(使用默认代码转换器),如果它已经不存在”

我没有发现任何关于此操作的原子的提及。 异步调用是否会保留添加密钥的初始值?或者这是一个get的非原子包装器,后跟一个set?

感谢。

1 个答案:

答案 0 :(得分:3)

add(与大多数Couchbase操作一样)是原子的 - 集群将(原子地)执行检查以查看指定的密钥是否存在,并且仅当它不将它设置为给定值时

如果密钥确实存在,您将收到错误(EEXISTS或Java本机等效项)。