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指定されたキーのキャッシュ値を取得します。見つからない場合は null を返します。
getAll(keys)Objectキーの配列のキャッシュで見つかったすべての Key-Value ペアを含む JavaScript オブジェクトを返します。
put(key, value)voidKey-Value ペアをキャッシュに追加します。
put(key, value, expirationInSeconds)void有効期限(秒単位)を指定して、Key-Value ペアをキャッシュに追加します。
putAll(values)voidKey-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 - キャッシュされた値。見つからなかった場合は 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' is: {'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」の繰り返し呼び出しと同様ですが、1 回の呼び出しのみを行うため、より効率的です。キーごとに保存できるデータ量は 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[]削除するキーの配列。