如何获取couchbase文件的修订号?

时间:2014-07-11 09:20:54

标签: couchbase

我正在使用.NET api for couchbase。只是想知道如何获取文档的修订号?

干杯

2 个答案:

答案 0 :(得分:3)

正如杰夫上面提到的,你要做的就是使用cas值。此值存在于Couchbase和memcached中,专门用于从不同的线程更新同一文档。 cas只是一个随机数,每次更新文档时都会更改。基本上你想要做的是使用get()API获取cas。这将返回所请求密钥的当前值以及cas值。在您的应用程序中,您可以修改文档并调用set()API,但请确保包含cas值。当服务器收到具有cas值的集合时,如果cas值与服务器当前具有的值匹配,则仅更新文档。如果set()操作失败,那么您知道文档已更改,您可以再次获取文档(并记住新的cas值),进行更改,然后再次尝试设置()文档。

http://docs.couchbase.com/couchbase-devguide-2.5/#check-and-set-cas

答案 1 :(得分:0)

最好的解决方案(不使用一些可能根本不存在的低级别未经推荐的方法)只是将修订存储为值的一部分,当然?这也可以在视图中读取,这可以提供一些实用程序(例如,当另一个完成时,通知某些等待进程/文档)。