Class Cache

Cache

Un riferimento a una determinata cache.

Questa classe ti consente di inserire, recuperare e rimuovere elementi da una cache. Questa opzione può essere particolarmente utile quando vuoi accedere spesso a una risorsa costosa o lenta. Ad esempio, supponiamo che tu abbia un feed RSS su example.com che richiede 20 secondi per essere recuperato, ma vuoi velocizzare l'accesso a una richiesta media.

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

Se l'elemento non è nella cache, devi comunque attendere 20 secondi, ma le chiamate successive sono molto veloci finché l'elemento non scade dalla cache dopo 25 minuti.

Metodi

MetodoTipo restituitoBreve descrizione
get(key)String|nullRecupera il valore memorizzato nella cache per la chiave specificata o null se non viene trovato alcun valore.
getAll(keys)ObjectRestituisce un oggetto JavaScript contenente tutte le coppie chiave/valore trovate nella cache per un array di chiavi.
put(key, value)voidAggiunge una coppia chiave/valore alla cache.
put(key, value, expirationInSeconds)voidAggiunge una coppia chiave/valore alla cache, con un tempo di scadenza (in secondi).
putAll(values)voidAggiunge un insieme di coppie chiave/valore alla cache.
putAll(values, expirationInSeconds)voidAggiunge un insieme di coppie chiave/valore alla cache, con un tempo di scadenza (in secondi).
remove(key)voidRimuove una voce dalla cache utilizzando la chiave specificata.
removeAll(keys)voidRimuove un insieme di voci dalla cache.

Documentazione dettagliata

get(key)

Recupera il valore memorizzato nella cache per la chiave specificata o null se non viene trovato alcun valore.

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

Parametri

NomeTipoDescrizione
keyStringLa chiave da cercare nella cache.

Indietro

String|null: il valore memorizzato nella cache o null se non è stato trovato alcun valore.


getAll(keys)

Restituisce un oggetto JavaScript contenente tutte le coppie chiave/valore trovate nella cache per un array di chiavi.

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

Parametri

NomeTipoDescrizione
keysString[]Le chiavi da cercare.

Indietro

Object: un oggetto JavaScript contenente le coppie chiave/valore per tutte le chiavi trovate nella cache.

Vedi anche


put(key, value)

Aggiunge una coppia chiave/valore alla cache.

La lunghezza massima di una chiave è di 250 caratteri. La quantità massima di dati che possono essere memorizzati per chiave è 100 KB. Il valore scade dalla cache dopo 600 secondi (10 minuti).

Il limite per gli elementi memorizzati nella cache è 1000. Se vengono scritti più di 1000 elementi, la cache memorizza i 900 elementi più lontani dalla scadenza. Questo limite potrebbe cambiare.

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

Parametri

NomeTipoDescrizione
keyStringLa chiave in cui memorizzare il valore.
valueStringIl valore da memorizzare nella cache.

put(key, value, expirationInSeconds)

Aggiunge una coppia chiave/valore alla cache, con un tempo di scadenza (in secondi).

La lunghezza massima di una chiave è di 250 caratteri. La quantità massima di dati che possono essere memorizzati per chiave è 100 KB. Il tempo di scadenza specificato è solo un suggerimento; i dati memorizzati nella cache potrebbero essere rimossi prima di questo periodo se vengono memorizzati nella cache molti dati.

Il limite per gli elementi memorizzati nella cache è 1000. Se vengono scritti più di 1000 elementi, la cache memorizza i 900 elementi più lontani dalla scadenza. Questo limite potrebbe cambiare.

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

Parametri

NomeTipoDescrizione
keyStringLa chiave in cui memorizzare il valore.
valueStringIl valore da memorizzare nella cache.
expirationInSecondsIntegerIl tempo massimo in cui il valore rimane nella cache, in secondi. Il valore minimo è 1 secondo e il valore massimo è 21.600 secondi (6 ore).

putAll(values)

Aggiunge un insieme di coppie chiave/valore alla cache.

Simile a chiamate ripetute a "put", ma più efficiente in quanto effettua una sola chiamata alla quantità di dati che può essere archiviata per chiave è 100 KB. I valori scadono dalla cache dopo 600 secondi (10 minuti).

Il limite per gli elementi memorizzati nella cache è 1000. Se vengono scritti più di 1000 elementi, la cache memorizza i 900 elementi più lontani dalla scadenza. Questo limite potrebbe cambiare.

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

Parametri

NomeTipoDescrizione
valuesObjectUn oggetto JavaScript contenente chiavi e valori stringa.

Vedi anche


putAll(values, expirationInSeconds)

Aggiunge un insieme di coppie chiave/valore alla cache, con un tempo di scadenza (in secondi).

Simile alle chiamate ripetute a "put", ma più efficiente in quanto effettua una sola chiamata al server memcache per impostare tutti i valori. La lunghezza massima di una chiave è di 250 caratteri. La quantità massima di dati che possono essere archiviati per chiave è 100 KB. Il tempo di scadenza specificato è solo un suggerimento; i dati memorizzati nella cache potrebbero essere rimossi prima di questo periodo se vengono memorizzati nella cache molti dati.

Il limite per gli elementi memorizzati nella cache è 1000. Se vengono scritti più di 1000 elementi, la cache memorizza i 900 elementi più lontani dalla scadenza. Questo limite potrebbe cambiare.

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

Parametri

NomeTipoDescrizione
valuesObjectUn oggetto JavaScript contenente chiavi e valori stringa.
expirationInSecondsIntegerIl tempo massimo in secondi in cui il valore rimane nella cache. La scadenza minima consentita è 1 secondo e quella massima è 21.600 secondi (6 ore). La scadenza predefinita è di 600 secondi (10 minuti).

Vedi anche


remove(key)

Rimuove una voce dalla cache utilizzando la chiave specificata.

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

Parametri

NomeTipoDescrizione
keyStringLa chiave da rimuovere dalla cache.

removeAll(keys)

Rimuove un insieme di voci dalla cache.

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

Parametri

NomeTipoDescrizione
keysString[]L'array di chiavi da rimuovere.