gets()
メソッドは指定したキーの
CAS値を取得します。CAS値は値の更新時に、関連する
Check-and-Set
メソッドと組み合わせて利用します。例えば、値を更新する際にCAS値を指定して、更新されていない場合のみ値を書き換えるなど、CAS値を
append()
操作と組み合わせて利用できます。詳細は
「Append メソッド」 と
「Check-and-Set メソッド」
を参照してください。
API Call | client.gets(key) | ||
Asynchronous | no | ||
Description | Get single key value with CAS value | ||
Returns | CASValue (
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 Call | client.gets(key, transcoder) | ||
Asynchronous | no | ||
Description | Get single key value with CAS value | ||
Returns | CASValue (
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 Call | client.asyncGets(key) | ||
Asynchronous | yes | ||
Description | Get single key value with CAS value | ||
Returns | Future<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 Call | client.asyncGets(key, transcoder) | ||
Asynchronous | yes | ||
Description | Get single key value with CAS value | ||
Returns | Future<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()
メソッドの形式ではカスタムトランスコーダをサポートしています。