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
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
get(key) | String | Ruft den im Cache gespeicherten Wert für den angegebenen Schlüssel ab oder null , wenn keiner gefunden wird. |
getAll(keys) | Object | Gibt 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) | void | Fügt dem Cache ein Schlüssel/Wert-Paar hinzu. |
put(key, value, expirationInSeconds) | void | Fügt dem Cache ein Schlüssel/Wert-Paar mit einer Ablaufzeit (in Sekunden) hinzu. |
putAll(values) | void | Fügt dem Cache eine Reihe von Schlüssel/Wert-Paaren hinzu. |
putAll(values, expirationInSeconds) | void | Dem Cache werden eine Reihe von Schlüssel/Wert-Paaren mit einer Ablaufzeit (in Sekunden) hinzugefügt. |
remove(key) | void | Entfernt einen Eintrag mit dem angegebenen Schlüssel aus dem Cache. |
removeAll(keys) | void | Entfernt 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
Name | Typ | Beschreibung |
---|---|---|
key | String | Der im Cache nachzuschlagende Schlüssel. |
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
Name | Typ | Beschreibung |
---|---|---|
keys | String[] | 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 läuft 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.
const cache = CacheService.getScriptCache(); // Puts the value 'bar' into the cache using the key 'foo' cache.put('foo', 'bar');
Parameter
Name | Typ | Beschreibung |
---|---|---|
key | String | der Schlüssel, unter dem der Wert gespeichert werden soll |
value | String | Der 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 die 900 Elemente mit dem längsten Gültigkeitszeitraum im Cache gespeichert. 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
Name | Typ | Beschreibung |
---|---|---|
key | String | der Schlüssel, unter dem der Wert gespeichert werden soll |
value | String | Der zu cachende Wert |
expirationInSeconds | Integer | die maximale Zeit, während der der Wert im Cache verbleibt, in Sekunden. Der Mindestwert ist 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 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 im Cache die 900 Elemente gespeichert, 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'. const values = { foo: 'bar', x: 'y', key: 'value', }; CacheService.getUserCache().putAll(values);
Parameter
Name | Typ | Beschreibung |
---|---|---|
values | Object | ein JavaScript-Objekt mit Stringschlüsseln und ‑werten |
Weitere Informationen
putAll(values, expirationInSeconds)
Dem Cache werden eine Reihe von Schlüssel/Wert-Paaren mit einer Ablaufzeit (in Sekunden) hinzugefügt.
Ä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
Name | Typ | Beschreibung |
---|---|---|
values | Object | Ein JavaScript-Objekt mit Stringschlüsseln und ‑werten |
expirationInSeconds | Integer | Die 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
Name | Typ | Beschreibung |
---|---|---|
key | String | den 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
Name | Typ | Beschreibung |
---|---|---|
keys | String[] | das Array der zu entfernenden Schlüssel |