Set 操作は値を Couchbase あるいは Memcached に指定したキーと値を利用して格納します。既にキーが存在し、値が存在しても、値は指定したキーに対して保存されます。この操作は既存データを新規データで上書きします。
API Call | client.set(key, expiry, value) | ||
Asynchronous | yes | ||
Description | Store a value using the specified key, whether the key already exists or not. Will overwrite a value if the given key/value already exists. | ||
Returns | OperationFuture<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 |
set()
メソッドの一つ目の形式は有効期限(期限がない場合は0を指定)と関連するオブジェクト値を指定します。シリアライズには組み込みのトランスコーダを利用します。
コマンドの最も単純な形式は次のとおりです。
client.set("someKey", 3600, someObject);
値が格納された場合、Boolean
の戻り値はtrueになります。例:
OperationFuture<Boolean> setOp = membase.set("someKey",0,"astring"); System.out.printf("Result was %b",setOp.get());
API Call | client.set(key, expiry, value, transcoder) | ||
Asynchronous | yes | ||
Description | Store a value using the specified key and a custom transcoder. | ||
Returns | OperationFuture<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 |
このメソッドは set()
メソッドと同じですが、オブジェクト値のシリアライズ用にカスタムトランスコーダの利用をサポートしています。トランスコーディングの詳細については、以下を参照してください。「オブジェクトのシリアライズ(トランスコーディング)」