Class Cache

Cache

Ein Verweis auf einen bestimmten Cache.

Mit dieser Klasse können Sie Elemente in einen Cache einfügen, abrufen und aus einem Cache entfernen. Dies kann besonders nützlich sein, wenn Sie häufig auf eine teure oder langsame Ressource zugreifen möchten. Angenommen, Sie haben unter example.com einen RSS-Feed, der 20 Sekunden benötigt, um den Zugriff auf eine durchschnittliche Anfrage zu beschleunigen.

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;
}
Wenn sich das Element nicht im Cache befindet, müssen Sie trotzdem noch die 20 Sekunden warten. Nachfolgende Aufrufe erfolgen jedoch sehr schnell, bis das Element nach 25 Minuten aus dem Cache entfernt ist.

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 zurück, das alle Schlüssel/Wert-Paare enthält, die im Cache für ein Schlüsselarray 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 mithilfe des angegebenen Schlüssels einen Eintrag 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'.
var value = cache.get('foo');

Parameter

NameTypBeschreibung
keyStringSchlüssel, nach dem im Cache gesucht werden soll

Return

String: der im Cache gespeicherte Wert oder null, wenn keiner gefunden wurde


getAll(keys)

Gibt ein JavaScript-Objekt zurück, das alle Schlüssel/Wert-Paare enthält, die im Cache für ein Schlüsselarray gefunden wurden.

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

Parameter

NameTypBeschreibung
keysString[]die nachzuschlagenden Schlüssel

Return

Object: ein JavaScript-Objekt, das die Schlüssel/Wert-Paare für alle im Cache gefundenen Schlüssel enthält

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. Pro Schlüssel können maximal 100 KB gespeichert werden. Der Wert läuft nach 600 Sekunden (10 Minuten) aus dem Cache ab.

Die Obergrenze für zwischengespeicherte Elemente beträgt 1.000. Wenn mehr als 1.000 Elemente geschrieben werden,speichert der Cache die 900 Elemente, die am weitesten vom Ablaufdatum entfernt sind. Dieses Limit kann sich ändern.

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

Parameter

NameTypBeschreibung
keyStringSchlüssel zum Speichern des Werts
valueStringWert, 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. Pro Schlüssel können maximal 100 KB gespeichert werden. Die angegebene Ablaufzeit ist nur ein Vorschlag. Im Cache gespeicherte Daten können vor diesem Zeitpunkt entfernt werden, wenn viele Daten im Cache gespeichert sind.

Die Obergrenze für zwischengespeicherte Elemente beträgt 1.000. Wenn mehr als 1.000 Elemente geschrieben werden,speichert der Cache die 900 Elemente, 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.
cache.put('foo', 'bar', 20);

Parameter

NameTypBeschreibung
keyStringSchlüssel zum Speichern des Werts
valueStringWert, der im Cache gespeichert werden soll
expirationInSecondsIntegerdie maximale Zeit in Sekunden, die der Wert im Cache verbleibt. 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 wiederholte „put“-Aufrufe, aber effizienter, da nur ein Aufruf an den Memcache-Server gesendet wird, um alle Werte festzulegen. Die maximale Länge eines Schlüssels beträgt 250 Zeichen. Pro Schlüssel können maximal 100 KB gespeichert werden. Die Werte laufen nach 600 Sekunden (10 Minuten) aus dem Cache ab.

Die Obergrenze für zwischengespeicherte Elemente beträgt 1.000. Wenn mehr als 1.000 Elemente geschrieben werden,speichert der Cache die 900 Elemente, die am weitesten vom Ablaufdatum entfernt sind. Dieses Limit kann sich ändern.

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

Parameter

NameTypBeschreibung
valuesObjectEin JavaScript-Objekt, das Stringschlüssel und -werte enthält

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 „put“-Aufrufe, aber effizienter, da nur ein Aufruf an den Memcache-Server gesendet wird, um alle Werte festzulegen. Die maximale Länge eines Schlüssels beträgt 250 Zeichen. Pro Schlüssel können maximal 100 KB gespeichert werden. Die angegebene Ablaufzeit ist nur ein Vorschlag. Im Cache gespeicherte Daten können vor diesem Zeitpunkt entfernt werden, wenn viele Daten im Cache gespeichert sind.

Die Obergrenze für zwischengespeicherte Elemente beträgt 1.000. Wenn mehr als 1.000 Elemente geschrieben werden,speichert der Cache die 900 Elemente, die am weitesten vom Ablaufdatum entfernt sind. Dieses Limit kann sich ändern.

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

Parameter

NameTypBeschreibung
valuesObjectEin JavaScript-Objekt, das Stringschlüssel und -werte enthält
expirationInSecondsIntegerDie maximale Zeit in Sekunden, die der Wert im Cache verbleibt. Die minimale zulässige Ablaufzeit beträgt 1 Sekunde und die maximal zulässige Ablaufzeit 21.600 Sekunden (6 Stunden). Die Standardeinstellung beträgt 600 Sekunden (10 Minuten).

Weitere Informationen


remove(key)

Entfernt mithilfe des angegebenen Schlüssels einen Eintrag aus dem Cache.

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

Parameter

NameTypBeschreibung
keyStringSchlü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'
cache.removeAll(['foo', 'x']);

Parameter

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