Search:

Search all manuals
Search this manual
Manual
Couchbaseクライアントライブラリ: Java 1.0
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
6 取得操作
Chapter Sections
Chapters

6.4. CAS get メソッド

gets() メソッドは指定したキーの CAS値を取得します。CAS値は値の更新時に、関連する Check-and-Set メソッドと組み合わせて利用します。例えば、値を更新する際にCAS値を指定して、更新されていない場合のみ値を書き換えるなど、CAS値を append() 操作と組み合わせて利用できます。詳細は 「Append メソッド」「Check-and-Set メソッド」 を参照してください。

API Callclient.gets(key)
Asynchronousno
Description Get single key value with CAS value
ReturnsCASValue ( Check and set object )
Arguments 
String key Document ID used to identify the value

gets() メソッドは指定キーの CASValue を取得します。CASValue は Check-And-Set 操作を実行する際に利用する CAS と、指定のキーに対応する値を保持します。

例えば someKey の CAS と値を取得します:

CASValue status = client.gets("someKey");
System.out.printf("CAS is %s\n",status.getCas());
System.out.printf("Result was %s\n",status.getValue());

CAS値は、append() のようなCAS 操作実行時に利用します:

client.append(status.getCas(),"someKey", "appendedstring");
API Callclient.gets(key, transcoder)
Asynchronousno
Description Get single key value with CAS value
ReturnsCASValue ( Check and set object )
Arguments 
String key Document ID used to identify the value
Transcoder<T> transcoder Transcoder class to be used to serialize value

get() メソッドの二つ目の形式はカスタムトランスコーダを利用できます。

API Callclient.asyncGets(key)
Asynchronousyes
Description Get single key value with CAS value
ReturnsFuture<CASValue<Object>> ( Asynchronous request value, as CASValue, as Object )
Arguments 
String key Document ID used to identify the value

asyncGets() メソッドは特定のキーに対応する値の CASValue オブジェクトを、明示的に待つことなく取得します。

例:

Future<CASValue<Object>> future = client.asyncGets("someKey");

System.out.printf("CAS is %s\n",future.get(5,TimeUnit.SECONDS).getCas());

レスポンスの Future から CASValue オブジェクトおよび対応する CAS値の取得が必要なことに注意してください。ここでは一行でコーディングされています。

API Callclient.asyncGets(key, transcoder)
Asynchronousyes
Description Get single key value with CAS value
ReturnsFuture<CASValue<T>> ( Asynchronous request value, as CASValue as Transcoded object )
Arguments 
String key Document ID used to identify the value
Transcoder<T> transcoder Transcoder class to be used to serialize value

もう一つの asyncGets() メソッドの形式ではカスタムトランスコーダをサポートしています。