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 di frequente a una risorsa costosa o lenta. Ad esempio, immagina di avere un feed RSS su example.com che richiede 20 secondi per il recupero, ma vuoi velocizzare l'accesso su 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;
}
Dovrai comunque attendere 20 secondi se l'elemento non è nella cache, ma le chiamate successive saranno molto rapide fino alla scadenza dell'elemento nella cache dopo 25 minuti.

Metodi

MetodoTipo restituitoBreve descrizione
get(key)StringRecupera il valore memorizzato nella cache per la chiave specificata o null se non viene trovato nessuno.
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 alla cache un insieme di coppie chiave/valore 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

Invio

String: il valore memorizzato nella cache o null se non ne è stato trovato nessuno


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' would be: {'foo': 'somevalue', 'x': 'othervalue'}

Parametri

NomeTipoDescrizione
keysString[]le chiavi da cercare

Invio

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 può essere memorizzata 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 può essere memorizzata per chiave è 100 KB. L'ora di scadenza specificata è solo un suggerimento; i dati memorizzati nella cache potrebbero essere rimossi prima di questo orario se sono 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 per cui il valore rimane nella cache, in secondi. L'intervallo minimo è 1 secondo e quello massimo è 21600 secondi (6 ore).

putAll(values)

Aggiunge un insieme di coppie chiave/valore alla cache.

Simile alle chiamate ripetute a "put", ma più efficiente in quanto viene eseguita 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. I valori scadranno 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 di stringa

Vedi anche


putAll(values, expirationInSeconds)

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

Simile alle chiamate ripetute a "put", ma più efficiente in quanto viene eseguita 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. L'ora di scadenza specificata è solo un suggerimento; i dati memorizzati nella cache potrebbero essere rimossi prima di questo orario se sono 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 di stringa
expirationInSecondsIntegerIl tempo massimo per cui il valore rimane nella cache, in secondi. La scadenza minima consentita è 1 secondo e quella massima consentita è 21600 secondi (6 ore). La scadenza predefinita è 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