簡體   English   中英

我可以在存儲操作中一起指定CAS值和耐久性要求嗎?

[英]Can I specify CAS value and durability requirements together in a store operation?

我正在使用Couchbase .NET SDK 1.3。

任務是存儲一個值,前提是自從讀取值以來,其鍵下的數據在DB中尚未被修改,並確保將新值保留/復制到一定數量的節點。 對於修改檢查,我想利用開放式鎖定,即Couchbase的CAS方法。 我需要同步等待,直到值的持久性/復制成功為止。

問題是,Couchbase SDK提供方法來指定一個CAS值耐用性的要求:

ExecuteCas(mode, key, value, validfor, cas);
ExecuteStore(mode, key, value, persistTo, replicateTo);

我需要結合兩者。 還有Observe方法:

Observe(key, cas, persistTo, replicateTo);

似乎正是我所需要的,但是我在任何地方都找不到它的文檔。 因此,尤其是,我不確定該方法是等待值被持久/復制還是在調用時檢查它。 像這樣使用這種方法是否有效?

var storeResult = client.ExecuteCas(StoreMode.Set, key, value, TimeSpan.FromSeconds(60), cas);
// check storeResult.Success
var observeResult = client.Observe(key, cas, persistTo, replicateTo);
// check observeResult.Success

在官方論壇上得到了答案: https : //forums.couchbase.com/t/2199

實際上,可以使用Observe方法。 它將阻塞直到該值被持久/復制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM