add()
メソッドは指定したキーで値をデータベースに追加します。もしキーが既にデータベースに存在した場合失敗します。
API Call | client.add(key, expiry, value) | ||
Asynchronous | yes | ||
Description | Add a value with the specified key that does not already exist. Will fail if the key/value pair already exist. | ||
Returns | Future<Boolean> (
Asynchronous request value, as Boolean
) | ||
Arguments | |||
String key | Document ID used to identify the value | ||
int expiry | Expiry time for key. Values larger than 30*24*60*60 seconds (30 days) are interpreted as absolute times (from the epoch). | ||
Object value | Value to be stored |
add()
メソッドは指定したキーでデータベースに値を追加します:
client.add("someKey", 0, someObject);
「Set 操作」 とは異なり、指定したキーが既に存在する場合、操作は失敗します(その場合 false を返します)。
次の例で、一つ目の操作はキーがまだ存在しない場合成功しますが、二つ目の操作は始めの操作がキーをセットしているので必ず失敗します:
OperationFuture<Boolean> addOp = client.add("someKey",0,"astring"); System.out.printf("Result was %b",addOp.get()); addOp = client.add("someKey",0,"anotherstring"); System.out.printf("Result was %b",addOp.get());
API Call | client.add(key, expiry, value, transcoder) | ||
Asynchronous | yes | ||
Description | Add a value with the specified key that does not already exist. Will fail if the key/value pair already exist. | ||
Returns | Future<Boolean> (
Asynchronous request value, as Boolean
) | ||
Arguments | |||
String key | Document ID used to identify the value | ||
int expiry | Expiry time for key. Values larger than 30*24*60*60 seconds (30 days) are interpreted as absolute times (from the epoch). | ||
Object value | Value to be stored | ||
Transcoder<T> transcoder | Transcoder class to be used to serialize value |
このメソッドは add()
と同じですが、オブジェクト値のシリアライズ用のカスタムトランスコーダの利用をサポートしています。トランスコーディングの詳細については、以下を参照してください。「オブジェクトのシリアライズ(トランスコーディング)」