prepend()
メソッドは指定したキーの既存データの先頭に情報を追記します。append()
メソッドと同じく、キーに対する既存のバイナリデータの先頭に指定した情報が挿入されます、これは複雑なオブジェクトのシリアライズに
prepend()
を使った場合、データの破損につながる可能性があることに注意してください。
API Call | client.prepend(casunique, key, value) | ||
Asynchronous | yes | ||
Description | Prepend a value to an existing key | ||
Returns | Future<Boolean> (
Asynchronous request value, as Boolean
) | ||
Arguments | |||
long casunique | Unique value used to verify a key/value combination | ||
String key | Document ID used to identify the value | ||
Object value | Value to be stored |
prepend()
は既存のkey/valueペアの先頭に情報を挿入します。prepend()
にはCAS値が必要です。CAS値の詳細については、「CAS get
メソッド」を参照してください。
例えば、既存のキーに文字列を付加するには:
CASValue<Object> casv = client.gets("samplekey"); client.prepend(casv.getCas(),"samplekey", "prependedstring");
OperationFuture
を利用してprepend操作が成功したか確認できます:
OperationFuture<Boolean> prependOp = client.prepend(casv.getCas(),"notsamplekey", "prependedstring"); try { if (prependOp.get().booleanValue()) { System.out.printf("Prepend succeeded\n"); } else { System.out.printf("Prepend failed\n"); } } catch (Exception e) { ... }
API Call | client.prepend(casunique, key, value, transcoder) | ||
Asynchronous | yes | ||
Description | Prepend a value to an existing key | ||
Returns | Future<Boolean> (
Asynchronous request value, as Boolean
) | ||
Arguments | |||
long casunique | Unique value used to verify a key/value combination | ||
String key | Document ID used to identify the value | ||
Object value | Value to be stored | ||
Transcoder<T> transcoder | Transcoder class to be used to serialize value |
prepend()
メソッドの二つ目の形式では、key/valueペアに対する更新時のカスタムトランスコーダの利用をサポートしています。