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, dessen Abruf 20 Sekunden dauert, 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 abläuft.

Methoden

MethodeRückgabetypKurzbeschreibung
get(key)StringRuft den im Cache gespeicherten Wert für den angegebenen Schlüssel ab oder null, wenn keiner gefunden wird.
getAll(keys)ObjectGibt ein JavaScript-Objekt mit allen Schlüssel/Wert-Paaren zurück, die im Cache für ein Array von Schlüsseln 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 mit dem angegebenen Schlüssel aus dem Cache.
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 keiner gefunden wird.

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

Parameter

NameTypBeschreibung
keyStringDer Schlüssel, der im Cache nachgeschlagen werden soll.

Rückflug

String: 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 im Cache für ein Array von Schlüsseln 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' would be: {'foo': 'somevalue', 'x': 'othervalue'}

Parameter

NameTypBeschreibung
keysString[]die Schlüssel, nach denen gesucht werden soll

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 wird nach 600 Sekunden (10 Minuten) aus dem Cache gelöscht.

Die Obergrenze für im Cache gespeicherte Elemente liegt bei 1.000. Wenn mehr als 1.000 Elemente geschrieben werden, werden die 900 Elemente mit dem längsten Gültigkeitszeitraum im Cache gespeichert. 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 zu cachende Wert

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. Gecachte Daten werden möglicherweise vor Ablauf dieser Zeit entfernt, wenn viele Daten im Cache gespeichert sind.

Die Obergrenze für im Cache gespeicherte Elemente liegt bei 1.000. Wenn mehr als 1.000 Elemente geschrieben werden,werden im Cache die 900 Elemente gespeichert, die am weitesten vom Ablaufdatum entfernt sind. 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 zu cachende Wert
expirationInSecondsIntegerdie maximale Zeit, während der der Wert im Cache verbleibt, in Sekunden. Der Mindestwert ist 1 Sekunde, der Höchstwert 21.600 Sekunden (6 Stunden).

putAll(values)

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

Ähnlich wie wiederholte Aufrufe von „put“, aber effizienter, da nur ein Aufruf des Memcache-Servers 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 Werte laufen nach 600 Sekunden (10 Minuten) aus dem Cache ab.

Die Obergrenze für im Cache gespeicherte Elemente liegt bei 1.000. Wenn mehr als 1.000 Elemente geschrieben werden, werden die 900 Elemente mit dem längsten Gültigkeitszeitraum im Cache gespeichert. 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 wiederholte Aufrufe von „put“, aber effizienter, da nur ein Aufruf des Memcache-Servers 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. Gecachte Daten können vor Ablauf dieser Zeit entfernt werden, wenn viele Daten im Cache gespeichert sind.

Die Obergrenze für im Cache gespeicherte Elemente liegt bei 1.000. Wenn mehr als 1.000 Elemente geschrieben werden, werden die 900 Elemente mit dem längsten Gültigkeitszeitraum im Cache gespeichert. 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, in der der Wert im Cache verbleibt, in Sekunden. Der Mindestwert für das Ablaufdatum ist 1 Sekunde und der Höchstwert 21.600 Sekunden (6 Stunden). Die Standardgültigkeitsdauer beträgt 600 Sekunden (10 Minuten).

Weitere Informationen


remove(key)

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

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

Parameter

NameTypBeschreibung
keyStringden 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