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.3. Get-and-Touch 操作

Get-and-Touch(GAT)メソッドは、指定されたキーの値を取得し、キーの有効期限を更新します。これはセッション情報など、有効期限を持たせたい情報、さらにそれを利用している間は期限切れになって欲しくない情報に対して有効です。

API Callclient.getAndTouch(key, expiry)
Asynchronousno
Description Get a value and update the expiration time for a given key
Introduced Version1.0
ReturnsCASValue ( Check and set object )
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).

getAndTouch() の一つ目の形式は、指定の値を取得し、有効期限を更新します。例えば、セッションデータを取得すると同時に有効期限を5分に更新します:

session = client.getAndTouch("sessionid",300);
API Callclient.getAndTouch(key, expiry, transcoder)
Asynchronousno
Description Get a value and update the expiration time for a given key
Introduced Version1.0
ReturnsCASValue ( Check and set object )
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).
Transcoder<T> transcoder Transcoder class to be used to serialize value

二つ目の形式では格納された値に対してカスタムトランスコーダを利用できます。

API Callclient.asyncGetAndTouch(key, expiry)
Asynchronousyes
Description Get a value and update the expiration time for a given key
Introduced Version1.0
ReturnsFuture<CASValue<Object>> ( Asynchronous request value, as CASValue, as Object )
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).

非同期メソッドは応答を待たずに、値を取得し有効期限を更新します。値のオブジェクトを保持する CAS オブジェクトが返却されます。

Future<CASValue<Object>> future = client.asyncGetAndTouch("sessionid", 300);

CASValue casv;

try {
    casv = future.get(5, TimeUnit.SECONDS);
} catch(Exception e) {
    future.cancel(false);
}
API Callclient.asyncGetAndTouch(key, expiry, transcoder)
Asynchronousyes
Description Get a value and update the expiration time for a given key
Introduced Version1.0
ReturnsFuture<CASValue<T>> ( Asynchronous request value, as CASValue as Transcoded object )
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).
Transcoder<T> transcoder Transcoder class to be used to serialize value

非同期メソッドの二つ目の形式では格納されたオブジェクトに対してカスタムトランスコーダを利用できます。