Class Cache

キャッシュ

特定のキャッシュへの参照。

このクラスを使用すると、キャッシュへのアイテムの挿入、取得、削除を行うことができます。これは、高価なリソースや遅いリソースに頻繁にアクセスする必要がある場合に特に便利です。たとえば、example.com にある RSS フィードの取得に 20 秒かかり、平均リクエストでアクセスを高速化したいとします。

function getRssFeed() {
  const cache = CacheService.getScriptCache();
  const cached = cache.get('rss-feed-contents');
  if (cached != null) {
    return cached;
  }
  const result = UrlFetchApp.fetch(
      'http://example.com/my-slow-rss-feed.xml');  // takes 20 seconds
  const contents = result.getContentText();
  cache.put('rss-feed-contents', contents, 1500);  // cache for 25 minutes
  return contents;
}
アイテムがキャッシュにない場合は、20 秒待つ必要がありますが、その後の呼び出しは、アイテムがキャッシュから期限切れになる 25 分間非常に高速になります。

メソッド

メソッド戻り値の型概要
get(key)String指定されたキーのキャッシュに保存されている値を取得します。値が見つからない場合は null を返します。
getAll(keys)Objectキーの配列のキャッシュで見つかったすべての Key-Value ペアを含む JavaScript オブジェクトを返します。
put(key, value)voidキャッシュに Key-Value ペアを追加します。
put(key, value, expirationInSeconds)void有効期限(秒単位)を指定して、Key-Value ペアをキャッシュに追加します。
putAll(values)void一連の Key-Value ペアをキャッシュに追加します。
putAll(values, expirationInSeconds)void有効期限(秒単位)を指定して、Key-Value ペアのセットをキャッシュに追加します。
remove(key)void指定されたキーを使用してキャッシュからエントリを削除します。
removeAll(keys)voidキャッシュからエントリのセットを削除します。

詳細なドキュメント

get(key)

指定されたキーのキャッシュに保存されている値を取得します。値が見つからない場合は null を返します。

// Gets the value from the cache for the key 'foo'.
const value = CacheService.getScriptCache().get('foo');

パラメータ

名前説明
keyStringキャッシュで検索するキー

戻る

String - キャッシュに保存された値。何も見つからなかった場合は null


getAll(keys)

キーの配列のキャッシュで見つかったすべての Key-Value ペアを含む JavaScript オブジェクトを返します。

// Gets a set of values from the cache
const values = CacheService.getDocumentCache().getAll(['foo', 'x', 'missing']);
// If there were values in the cache for 'foo' and 'x' but not 'missing', then
// 'values' would be: {'foo': 'somevalue', 'x': 'othervalue'}

パラメータ

名前説明
keysString[]検索するキー

戻る

Object - キャッシュで見つかったすべてのキーの Key-Value ペアを含む JavaScript オブジェクト

関連情報


put(key, value)

キャッシュに Key-Value ペアを追加します。

キーの最大長は 250 文字です。キーごとに保存できるデータの最大量は 100 KB です。値は 600 秒(10 分)後にキャッシュから期限切れになります。

キャッシュに保存できるアイテムの上限は 1,000 個です。1,000 を超えるアイテムが書き込まれると、キャッシュには有効期限が最も遠い 900 個のアイテムが保存されます。この上限は変更される可能性があります。

const cache = CacheService.getScriptCache();
// Puts the value 'bar' into the cache using the key 'foo'
cache.put('foo', 'bar');

パラメータ

名前説明
keyString値を格納するキー
valueStringキャッシュに保存する値

put(key, value, expirationInSeconds)

有効期限(秒単位)を指定して、Key-Value ペアをキャッシュに追加します。

キーの最大長は 250 文字です。キーごとに保存できるデータの最大量は 100 KB です。指定した有効期限はあくまで推奨事項です。キャッシュに保存されるデータが多い場合は、この時間より前にキャッシュ データが削除されることがあります。

キャッシュに保存できるアイテムの上限は 1,000 個です。1,000 を超えるアイテムが書き込まれると、キャッシュには有効期限が最も遠い 900 個のアイテムが保存されます。この上限は変更される可能性があります。

// Puts the value 'bar' into the cache using the key 'foo', but only for the
// next 20 seconds.
CacheService.getScriptCache().put('foo', 'bar', 20);

パラメータ

名前説明
keyString値を格納するキー
valueStringキャッシュに保存する値
expirationInSecondsInteger値がキャッシュに保持される最大時間(秒単位)。最小値は 1 秒、最大値は 21,600 秒(6 時間)です。

putAll(values)

一連の Key-Value ペアをキャッシュに追加します。

「put」の繰り返し呼び出しに似ていますが、memcache サーバーを 1 回だけ呼び出してすべての値を設定するため、より効率的です。キーの最大長は 250 文字です。キーごとに保存できるデータの最大量は 100 KB です。値は 600 秒(10 分)後にキャッシュから期限切れになります。

キャッシュに保存できるアイテムの上限は 1,000 個です。1,000 を超えるアイテムが書き込まれると、キャッシュには有効期限が最も遠い 900 個のアイテムが保存されます。この上限は変更される可能性があります。

// Puts a set of values into the cache with the keys 'foo', 'x', and 'key'.
const values = {
  foo: 'bar',
  x: 'y',
  key: 'value',
};
CacheService.getUserCache().putAll(values);

パラメータ

名前説明
valuesObject文字列のキーと値を含む JavaScript オブジェクト

関連情報


putAll(values, expirationInSeconds)

有効期限(秒単位)を指定して、Key-Value ペアのセットをキャッシュに追加します。

「put」の繰り返し呼び出しに似ていますが、memcache サーバーを 1 回だけ呼び出してすべての値を設定するため、より効率的です。キーの最大長は 250 文字です。キーごとに保存できるデータの最大量は 100 KB です。指定した有効期限はあくまで推奨事項です。キャッシュに大量のデータが保存されている場合、この時間より前にキャッシュデータが削除されることがあります。

キャッシュに保存できるアイテムの上限は 1,000 個です。1,000 を超えるアイテムが書き込まれると、キャッシュには有効期限が最も遠い 900 個のアイテムが保存されます。この上限は変更される可能性があります。

// Puts a set of values into the cache with the keys 'foo', 'x', and 'key'.
const values = {
  foo: 'bar',
  x: 'y',
  key: 'value',
};
CacheService.getUserCache().putAll(values, 20);

パラメータ

名前説明
valuesObject文字列のキーと値を含む JavaScript オブジェクト
expirationInSecondsInteger値がキャッシュに保持される最大時間(秒単位)。有効期間の最小値は 1 秒、最大値は 21,600 秒(6 時間)です。デフォルトの有効期限は 600 秒(10 分)です。

関連情報


remove(key)

指定されたキーを使用してキャッシュからエントリを削除します。

// Removes any cache entries for 'foo'
CacheService.getUserCache().remove('foo');

パラメータ

名前説明
keyStringキャッシュから削除するキー

removeAll(keys)

キャッシュからエントリのセットを削除します。

// Removes entries from the cache with keys 'foo' and 'x'
CacheService.getDocumentCache().removeAll(['foo', 'x']);

パラメータ

名前説明
keysString[]削除するキーの配列