Class Cache

キャッシュ

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

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

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

Methods

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

詳細なドキュメント

get(key)

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

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

パラメータ

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

リターン

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


getAll(keys)

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

// Gets a set of values from the cache
var values = cache.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 個のアイテムが保存されます。この上限は変更される可能性があります。

// 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.
cache.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'.
var values = {
  'foo': 'bar',
  'x':'y',
  'key': 'value'
};
cache.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'.
var values = {
  'foo': 'bar',
  'x':'y',
  'key': 'value'
};
cache.putAll(values, 20);

パラメータ

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

関連ドキュメント


remove(key)

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

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

パラメータ

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

removeAll(keys)

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

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

パラメータ

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