メインコンテンツまでスキップ

Momento CacheのためのSet APIについて

備考

Momentoコレクションタイプは、CollectionTTLを使用してTTL動作を指定します。これは、すべての "write" 操作のオプション引数です。

集合は要素の集まりですが、各要素は一度しか現れず、順序は保証されません。 例: セットが [1, 2, 3] を含み、2 を追加してもセットは [1, 2, 3]. のままです。

詳しくは、Setsを参照してください。

Set methods

SetAddElement

セットに要素を追加します。セット項目がまだ存在しない場合、このメソッドはそれを作成します。

名前詳細
cacheNameStringキャッシュの名前。
setNameString変更するセットアイテムの名前。
elementString | Bytesこの操作によって追加される要素。
ttlCollectionTTL objectキャッシュに設定された項目の TTLです。この TTL は、キャッシュ接続クライアントを初期化するときに使用される TTL よりも優先されます。
Method response object
  • Success
  • Error

詳しくはレスポンスオブジェクトを参照してください。

const result = await cacheClient.setAddElement(cacheName, 'test-set', 'test-element');
switch (result.type) {
case CacheSetAddElementResponse.Success:
console.log("Element added successfully to set 'test-set'");
break;
case CacheSetAddElementResponse.Error:
throw new Error(
`An error occurred while attempting to call cacheSetAddElement on set 'test-set' in cache '${cacheName}': ${result.errorCode()}: ${result.toString()}`
);
}
備考
Full example code and imports can be found here

SetAddElements

Adds multiple elements to a set item.

名前詳細
cacheNameStringキャッシュの名前。
setNameString変更するセットアイテムの名前。
elementsString[] | Bytes[]この操作によって追加される要素。
ttlCollectionTTL objectキャッシュに設定された項目の TTLです。この TTL は、キャッシュ接続クライアントを初期化するときに使用される TTL よりも優先されます。
Method response object
  • Success
  • Error

詳しくはレスポンスオブジェクトを参照してください。

const result = await cacheClient.setAddElements(cacheName, 'test-set', ['test-element1', 'test-element2']);
switch (result.type) {
case CacheSetAddElementsResponse.Success:
console.log("Elements added successfully to set 'test-set'");
break;
case CacheSetAddElementsResponse.Error:
throw new Error(
`An error occurred while attempting to call cacheSetAddElements on set 'test-set' in cache '${cacheName}': ${result.errorCode()}: ${result.toString()}`
);
}
備考
Full example code and imports can be found here

SetFetch

Gets a set item from a cache.

名前詳細
cacheNameStringキャッシュの名前。
setNameString取得するセットアイテムの名前。
Method response object

SetFetch のレスポンスオブジェクトは、キャッシュヒット、ミス、エラーの3つの可能なオプションを返します。

  • Hit
    • valueSetBytes(): Bytes[]
    • valueSetString(): String[]
    • toString(): String
  • Miss
  • Error

詳しくはレスポンスオブジェクトを参照してください。

await cacheClient.setAddElements(cacheName, 'test-set', ['test-element1', 'test-element2']);
const result = await cacheClient.setFetch(cacheName, 'test-set');

// simplified style; assume the value was found
console.log(`Set fetched: ${result.value()!}`);

// pattern-matching style; safer for production code
switch (result.type) {
case CacheSetFetchResponse.Hit:
console.log('Set fetched successfully- ');
result.value().forEach((value, key) => {
console.log(`${key} : ${value}`);
});
break;
case CacheSetFetchResponse.Miss:
console.log(`Set 'test-set' was not found in cache '${cacheName}'`);
break;
case CacheSetFetchResponse.Error:
throw new Error(
`An error occurred while attempting to call cacheSetFetch on set 'test-set' in cache '${cacheName}': ${result.errorCode()}: ${result.toString()}`
);
}
備考
Full example code and imports can be found here

SetSample

キャッシュ内のセット項目から要素のランダムサンプリングを取得します。

NameTypeDescription
cacheNameStringキャッシュの名前
setNameStringサンプリングするセット項目の名前
limitNumber取得する要素の最大数
メソッド・レスポンス・オブジェクト

SetSampleのレスポンス・オブジェクトは、キャッシュ・ヒット、ミス、エラーの3つの可能なオプションを返します。

  • Hit
    • valueSetBytes(): Bytes[]
    • valueSetString(): String[]
    • toString(): String
  • Miss
  • Error

詳しくはレスポンスオブジェクトを参照。

await cacheClient.setAddElements(cacheName, 'test-set', ['test-element1', 'test-element2', 'test-element3']);
const result = await cacheClient.setSample(cacheName, 'test-set', 2);

// simplified style; assume the value was found
console.log(`Sampled 2 elements from set: ${result.value()!}`);

// pattern-matching style; safer for production code
switch (result.type) {
case CacheSetSampleResponse.Hit:
console.log('Sample of 2 elements from set: ');
result.valueSet().forEach((value, key) => {
console.log(`${key} : ${value}`);
});
break;
case CacheSetSampleResponse.Miss:
console.log(`Set 'test-set' was not found in cache '${cacheName}'`);
break;
case CacheSetSampleResponse.Error:
throw new Error(
`An error occurred while attempting to call cacheSetSample on set 'test-set' in cache '${cacheName}': ${result.errorCode()}: ${result.toString()}`
);
}
備考
Full example code and imports can be found here

SetRemoveElement

既存のセット項目から単一の要素を削除します。

名前詳細
cacheNameStringキャッシュの名前。
setNameString変更するセットアイテムの名前。
elementString | Bytesこの操作によって削除される要素。
Method response object
  • Success
  • Error

詳しくはレスポンスオブジェクトを参照してください。

await cacheClient.setAddElement(cacheName, 'test-set', 'test-element');
const result = await cacheClient.setRemoveElement(cacheName, 'test-set', 'test-element');
switch (result.type) {
case CacheSetRemoveElementResponse.Success:
console.log("Element 'test-element' removed successfully from set 'test-set'");
break;
case CacheSetRemoveElementResponse.Error:
throw new Error(
`An error occurred while attempting to call cacheSetRemoveElement on set 'test-set' in cache '${cacheName}': ${result.errorCode()}: ${result.toString()}`
);
}
備考
Full example code and imports can be found here

SetRemoveElements

既存のセットアイテムから複数の要素を削除します。

名前詳細
cacheNameStringキャッシュの名前。
setNameString変更するセットアイテムの名前。
elementsString[] | Bytes[]この操作によって削除される要素。
Method response object
  • Success
  • Error

詳しくはレスポンスオブジェクトを参照してください。

await cacheClient.setAddElements(cacheName, 'test-set', ['test-element1', 'test-element2']);
const result = await cacheClient.setRemoveElements(cacheName, 'test-set', ['test-element1', 'test-element2']);
switch (result.type) {
case CacheSetRemoveElementsResponse.Success:
console.log("Elements 'test-element1' and 'test-element2' removed successfully from set 'test-set'");
break;
case CacheSetRemoveElementsResponse.Error:
throw new Error(
`An error occurred while attempting to call cacheSetRemoveElements on set 'test-set' in cache '${cacheName}': ${result.errorCode()}: ${result.toString()}`
);
}
備考
Full example code and imports can be found here

SetContainsElement

指定された要素が指定されたセットに含まれるかどうかを調べます。

名前詳細
cacheNameStringキャッシュの名前。
setNameStringセットアイテムの名前。
elementString | Bytes存在をチェックする要素の名前。
Method response object

SetContainsElementのレスポンスオブジェクトは、キャッシュヒット、ミス、エラーの3つの可能なオプションを返します。

  • Hit
    • containsElement(): bool
  • Miss
  • Error

詳しくはレスポンスオブジェクトを参照してください。

SetContainsElements

指定された要素が指定されたセットに含まれるかどうかをチェックします。

名前詳細
cacheNameStringキャッシュの名前。
setNameStringセットアイテムの名前。
elementsString[] | Bytes[]存在をチェックする要素名の配列。
Method response object

SetContainsElementsのレスポンスオブジェクトは、キャッシュヒット、ミス、エラーの3つの可能なオプションを返します。

  • Hit
    • containsElements(): bool[]
  • Miss
  • Error

詳しくはレスポンスオブジェクトを参照してください。

SetLength

既存のセットアイテムの長さを取得します。

名前詳細
cacheNameStringキャッシュの名前。
setNameStringチェックするセットアイテムの名前。
Method response object
  • Hit
    • length(): Number
  • Miss
  • Error

詳しくはレスポンスオブジェクトを参照してください。