Get-and-Touch(GAT)メソッドは、指定されたキーの値を取得し、キーの有効期限を更新します。これはセッション情報など、有効期限を持たせたい情報、さらにそれを利用している間は期限切れになって欲しくない情報に対して有効です。
API Call | client.getAndTouch(key, expiry) | ||
Asynchronous | no | ||
Description | Get a value and update the expiration time for a given key | ||
Introduced Version | 1.0 | ||
Returns | CASValue (
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 Call | client.getAndTouch(key, expiry, transcoder) | ||
Asynchronous | no | ||
Description | Get a value and update the expiration time for a given key | ||
Introduced Version | 1.0 | ||
Returns | CASValue (
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 Call | client.asyncGetAndTouch(key, expiry) | ||
Asynchronous | yes | ||
Description | Get a value and update the expiration time for a given key | ||
Introduced Version | 1.0 | ||
Returns | Future<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 Call | client.asyncGetAndTouch(key, expiry, transcoder) | ||
Asynchronous | yes | ||
Description | Get a value and update the expiration time for a given key | ||
Introduced Version | 1.0 | ||
Returns | Future<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 |
非同期メソッドの二つ目の形式では格納されたオブジェクトに対してカスタムトランスコーダを利用できます。