List API reference for Momento Cache
こ のページでは、リストコレクションデータ型の Momento API メソッドの詳細を説明しています。
備考
Momentoコレクションタイプは、CollectionTTLを使用してTTL動作を指定します。これは、すべての "write" 操作のオプション引数です。
List methods
ListFetch
キャッシュからリストアイテムを取得し、オプションでスライスを指定します。
名前 | 型 | 説明 |
---|---|---|
cacheName | String | キャッシュの名前。 |
listName | String | 取得するリストアイテムの名前。 |
startIndex | Number | 取得するリストの開始位置(含む要素)。デフォルトは0です。 この引数はオプションです。 |
endIndex | Number | 取得するリストの終了位置(含まない要素)。デフォルトはリストの末尾です。 この引数はオプションです。 |
Method response object
ListFetch のレスポンスオブジェクトには、キャッシュのヒット、ミス、またはエラーの3つの可能なオプションがあります。
- Hit
- valueListBytes(): Bytes[]
- valueListString(): String[]
- toString(): String - valueListString() のトランケーションされた値を表示します。詳細は、トランケーションを参照してください。
- Miss
- Error
特定の情報については、 レスポンスオブジェクト を参照してください。
- JavaScript
- Rust
await cacheClient.listConcatenateBack(cacheName, 'test-list', ['a', 'b', 'c']);
const result = await cacheClient.listFetch(cacheName, 'test-list');
// simplified style; assume the value was found
console.log(`cache hit: ${result.value()!}`);
// pattern-matching style; safer for production code
switch (result.type) {
case CacheListFetchResponse.Hit:
console.log(`List fetched successfully: ${result.value()}`);
break;
case CacheListFetchResponse.Miss:
console.log(`List 'test-list' was not found in cache '${cacheName}'`);
break;
case CacheListFetchResponse.Error:
throw new Error(
`An error occurred while attempting to fetch the list 'test-list' from cache '${cacheName}': ${result.errorCode()}: ${result.toString()}`
);
}
let _fetched_values: Vec<String> = cache_client
.list_fetch(cache_name, "list_name")
.await?
.try_into()
.expect("Expected a list fetch!");
ListConcatenateBack
指定されたリストを既存のリストアイテムの末尾に追加します。
例:
もし[1, 2, 3]と listConcatenateBack [4, 5, 6]がある場合、[1, 2, 3, 4, 5, 6]となります。
名前 | 型 | 説明 |
---|---|---|
cacheName | String | キャッシュの名前。 |
listName | String | 設定するリストアイテムの名前。 |
values | String[] | Bytes[] | リストアイテムに追加する要素としての値。 |
ttl | CollectionTTL object | キャッシュ内のリストアイテムの TTL(有効期限)。この TTL は、キャッシュクライアント接続オブジェクトを初期化する際に使用される TTL よりも優先されます。 |
truncateFrontToSize | Number | truncate to sizeを確認してください。 |
Method response object
- Success
listLength()
: Number - リストの新しい長さtoString()
: String - listLength を追加
- Error
特定の情報については、 レスポンスオブジェクト を参照してください。
- JavaScript
- Rust
await cacheClient.listConcatenateBack(cacheName, 'test-list', ['a', 'b', 'c']);
const result = await cacheClient.listConcatenateBack(cacheName, 'test-list', ['x', 'y', 'z']);
switch (result.type) {
case CacheListConcatenateBackResponse.Success:
console.log(`Values added successfully to the back of the list 'test-list'. Result - ${result.toString()}`);
break;
case CacheListConcatenateBackResponse.Error:
throw new Error(
`An error occurred while attempting to call cacheListConcatenateBack on list 'test-list' in cache '${cacheName}': ${result.errorCode()}: ${result.toString()}`
);
}
cache_client
.list_concatenate_back(cache_name, "list_name", vec!["value1", "value2"])
.await?;
println!("Elements appended to list");
ListConcatenateFront
既存のリストアイテムの前に指定されたリストを追加します。
例:
もし [1, 2, 3] があり、listConcatenateFront に [4, 5, 6] を追加すると、[4, 5, 6, 1, 2, 3] になります。
名前 | 型 | 説明 |
---|---|---|
cacheName | String | キャッシュの名前。 |
listName | String | 設定するリストアイテムの名前。 |
values | String[] | Bytes[] | リストアイテムに追加される要素の値。 |
ttl | CollectionTTL object | キャッシュ内のリストアイテムの TTL(Time To Live)。この TTL は、キャッシュクライアントを初期化する際に使用される TTL よりも優先されます。 |
truncateBackToSize | Number | truncate to sizeを確認してください。 |
Method response object
- Success
listLength()
: Number - リストアイテムの新しい長さtoString()
: String - listLength を追加。
- Error
特定の情報については、 レスポンスオブジェクト を参照してください。
- JavaScript
- Rust
await cacheClient.listConcatenateFront(cacheName, 'test-list', ['a', 'b', 'c']);
const result = await cacheClient.listConcatenateFront(cacheName, 'test-list', ['x', 'y', 'z']);
switch (result.type) {
case CacheListConcatenateFrontResponse.Success:
console.log(`Values added successfully to the front of the list 'test-list'. Result - ${result.toString()}`);
break;
case CacheListConcatenateFrontResponse.Error:
throw new Error(
`An error occurred while attempting to call cacheListConcatenateFront on list 'test-list' in cache '${cacheName}': ${result.errorCode()}: ${result.toString()}`
);
}