Class Cache

Cache

Ein Verweis auf einen bestimmten Cache.

Mit dieser Klasse können Sie Elemente in einen Cache einfügen, daraus abrufen und daraus entfernen. Das kann besonders nützlich sein, wenn Sie häufig auf eine teure oder langsame Ressource zugreifen möchten. Angenommen, Sie haben einen RSS-Feed unter beispiel.de, für den 20 Sekunden zum Abrufen benötigt werden. Sie möchten aber den Zugriff bei einer durchschnittlichen Anfrage beschleunigen.

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;
}

Wenn sich das Element nicht im Cache befindet, müssen Sie weiterhin 20 Sekunden warten. Nachfolgende Aufrufe sind jedoch sehr schnell, bis das Element nach 25 Minuten aus dem Cache entfernt wird.

Methoden

MethodeRückgabetypKurzbeschreibung
get(key)String|nullRuft den im Cache gespeicherten Wert für den angegebenen Schlüssel ab oder null, wenn kein Wert gefunden wird.
getAll(keys)ObjectGibt ein JavaScript-Objekt mit allen Schlüssel/Wert-Paaren zurück, die für ein Array von Schlüsseln im Cache gefunden wurden.
put(key, value)voidFügt dem Cache ein Schlüssel/Wert-Paar hinzu.
put(key, value, expirationInSeconds)voidFügt dem Cache ein Schlüssel/Wert-Paar mit einer Ablaufzeit (in Sekunden) hinzu.
putAll(values)voidFügt dem Cache eine Reihe von Schlüssel/Wert-Paaren hinzu.
putAll(values, expirationInSeconds)voidFügt dem Cache eine Reihe von Schlüssel/Wert-Paaren mit einer Ablaufzeit (in Sekunden) hinzu.
remove(key)voidEntfernt einen Eintrag aus dem Cache mit dem angegebenen Schlüssel.
removeAll(keys)voidEntfernt eine Reihe von Einträgen aus dem Cache.

Detaillierte Dokumentation

get(key)

Ruft den im Cache gespeicherten Wert für den angegebenen Schlüssel ab oder null, wenn kein Wert gefunden wird.

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

Parameter

NameTypBeschreibung
keyStringDer im Cache nachzuschlagende Schlüssel.

Rückflug

String|null: Der im Cache gespeicherte Wert oder null, wenn keiner gefunden wurde.


getAll(keys)

Gibt ein JavaScript-Objekt mit allen Schlüssel/Wert-Paaren zurück, die für ein Array von Schlüsseln im Cache gefunden wurden.

// 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'}

Parameter

NameTypBeschreibung
keysString[]Die nachzuschlagenden Schlüssel.

Rückflug

Object: Ein JavaScript-Objekt mit den Schlüssel/Wert-Paaren für alle im Cache gefundenen Schlüssel.

Weitere Informationen


put(key, value)

Fügt dem Cache ein Schlüssel/Wert-Paar hinzu.

Die maximale Länge eines Schlüssels beträgt 250 Zeichen. Die maximale Datenmenge, die pro Schlüssel gespeichert werden kann, beträgt 100 KB. Der Wert läuft nach 600 Sekunden (10 Minuten) im Cache ab.

Die Obergrenze für zwischengespeicherte Elemente liegt bei 1.000. Wenn mehr als 1.000 Elemente geschrieben werden,werden im Cache die 900 Elemente gespeichert, deren Ablaufdatum am weitesten in der Zukunft liegt. Dieses Limit kann sich ändern.

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

Parameter

NameTypBeschreibung
keyStringDer Schlüssel, unter dem der Wert gespeichert werden soll.
valueStringDer Wert, der im Cache gespeichert werden soll.

put(key, value, expirationInSeconds)

Fügt dem Cache ein Schlüssel/Wert-Paar mit einer Ablaufzeit (in Sekunden) hinzu.

Die maximale Länge eines Schlüssels beträgt 250 Zeichen. Die maximale Datenmenge, die pro Schlüssel gespeichert werden kann, beträgt 100 KB. Die angegebene Ablaufzeit ist nur ein Vorschlag. Daten im Cache können auch vor diesem Zeitpunkt entfernt werden, wenn viele Daten im Cache gespeichert sind.

Die Obergrenze für zwischengespeicherte Elemente liegt bei 1.000. Wenn mehr als 1.000 Elemente geschrieben werden,werden im Cache die 900 Elemente gespeichert, deren Ablaufdatum am weitesten in der Zukunft liegt. Dieses Limit kann sich ändern.

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

Parameter

NameTypBeschreibung
keyStringDer Schlüssel, unter dem der Wert gespeichert werden soll.
valueStringDer Wert, der im Cache gespeichert werden soll.
expirationInSecondsIntegerDie maximale Zeit, die der Wert im Cache verbleibt, in Sekunden. Der Mindestwert beträgt 1 Sekunde und der Höchstwert 21.600 Sekunden (6 Stunden).

putAll(values)

Fügt dem Cache eine Reihe von Schlüssel/Wert-Paaren hinzu.

Ähnlich wie bei wiederholten Aufrufen von „put“, aber effizienter, da nur ein Aufruf erfolgt. Die Menge der Daten, die pro Schlüssel gespeichert werden können, beträgt 100 KB. Die Werte laufen nach 600 Sekunden (10 Minuten) im Cache ab.

Die Obergrenze für zwischengespeicherte Elemente liegt bei 1.000. Wenn mehr als 1.000 Elemente geschrieben werden,werden im Cache die 900 Elemente gespeichert, deren Ablaufdatum am weitesten in der Zukunft liegt. Dieses Limit kann sich ändern.

// 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);

Parameter

NameTypBeschreibung
valuesObjectEin JavaScript-Objekt mit Stringschlüsseln und ‑werten.

Weitere Informationen


putAll(values, expirationInSeconds)

Fügt dem Cache eine Reihe von Schlüssel/Wert-Paaren mit einer Ablaufzeit (in Sekunden) hinzu.

Ähnlich wie bei wiederholten Aufrufen von „put“, aber effizienter, da nur ein Aufruf an den Memcache-Server erfolgt, um alle Werte festzulegen. Die maximale Länge eines Schlüssels beträgt 250 Zeichen. Die maximale Datenmenge, die pro Schlüssel gespeichert werden kann, beträgt 100 KB. Die angegebene Ablaufzeit ist nur ein Vorschlag. Zwischengespeicherte Daten können auch vor diesem Zeitpunkt entfernt werden, wenn viele Daten zwischengespeichert sind.

Die Obergrenze für zwischengespeicherte Elemente liegt bei 1.000. Wenn mehr als 1.000 Elemente geschrieben werden,werden im Cache die 900 Elemente gespeichert, deren Ablaufdatum am weitesten in der Zukunft liegt. Dieses Limit kann sich ändern.

// 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);

Parameter

NameTypBeschreibung
valuesObjectEin JavaScript-Objekt mit Stringschlüsseln und ‑werten.
expirationInSecondsIntegerDie maximale Zeit, die der Wert im Cache verbleibt, in Sekunden. Die minimale zulässige Ablaufzeit beträgt 1 Sekunde und die maximale zulässige Ablaufzeit 21.600 Sekunden (6 Stunden). Die Standardablaufzeit beträgt 600 Sekunden (10 Minuten).

Weitere Informationen


remove(key)

Entfernt einen Eintrag aus dem Cache mit dem angegebenen Schlüssel.

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

Parameter

NameTypBeschreibung
keyStringDer Schlüssel, der aus dem Cache entfernt werden soll.

removeAll(keys)

Entfernt eine Reihe von Einträgen aus dem Cache.

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

Parameter

NameTypBeschreibung
keysString[]Das Array der zu entfernenden Schlüssel.