Class Cache

Cache

Référence à un cache spécifique.

Cette classe vous permet d'insérer, de récupérer et de supprimer des éléments d'un cache. Cela peut être particulièrement utile lorsque vous souhaitez accéder fréquemment à une ressource coûteuse ou lente. Par exemple, supposons que vous ayez un flux RSS sur example.com qui prend 20 secondes à récupérer, mais que vous souhaitiez accélérer l'accès pour une requête moyenne.

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

Vous devez toujours attendre 20 secondes si l'élément ne se trouve pas dans le cache, mais les appels suivants sont très rapides jusqu'à ce que l'élément expire du cache au bout de 25 minutes.

Méthodes

MéthodeType renvoyéBrève description
get(key)String|nullRécupère la valeur mise en cache pour la clé donnée ou null si aucune valeur n'est trouvée.
getAll(keys)ObjectRenvoie un objet JavaScript contenant toutes les paires clé/valeur trouvées dans le cache pour un tableau de clés.
put(key, value)voidAjoute une paire clé/valeur au cache.
put(key, value, expirationInSeconds)voidAjoute une paire clé/valeur au cache, avec un délai d'expiration (en secondes).
putAll(values)voidAjoute un ensemble de paires clé/valeur au cache.
putAll(values, expirationInSeconds)voidAjoute un ensemble de paires clé/valeur au cache, avec un délai d'expiration (en secondes).
remove(key)voidSupprime une entrée du cache à l'aide de la clé donnée.
removeAll(keys)voidSupprime un ensemble d'entrées du cache.

Documentation détaillée

get(key)

Récupère la valeur mise en cache pour la clé donnée ou null si aucune valeur n'est trouvée.

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

Paramètres

NomTypeDescription
keyStringClé à rechercher dans le cache.

Renvois

String|null : valeur mise en cache ou null si aucune valeur n'a été trouvée.


getAll(keys)

Renvoie un objet JavaScript contenant toutes les paires clé/valeur trouvées dans le cache pour un tableau de clés.

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

Paramètres

NomTypeDescription
keysString[]Clés à rechercher.

Renvois

Object : objet JavaScript contenant les paires clé/valeur pour toutes les clés trouvées dans le cache.

Voir aussi


put(key, value)

Ajoute une paire clé/valeur au cache.

La longueur maximale d'une clé est de 250 caractères. La quantité maximale de données pouvant être stockées par clé est de 100 Ko. La valeur expire du cache au bout de 600 secondes (10 minutes).

La limite d'éléments mis en cache est de 1 000. Si plus de 1 000 éléments sont écrits, le cache stocke les 900 éléments dont la date d'expiration est la plus éloignée. Cette limite est susceptible d'être modifiée.

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

Paramètres

NomTypeDescription
keyStringClé sous laquelle stocker la valeur.
valueStringValeur à mettre en cache.

put(key, value, expirationInSeconds)

Ajoute une paire clé/valeur au cache, avec un délai d'expiration (en secondes).

La longueur maximale d'une clé est de 250 caractères. La quantité maximale de données pouvant être stockées par clé est de 100 Ko. Le délai d'expiration spécifié n'est qu'une suggestion. Les données mises en cache peuvent être supprimées avant ce délai si un grand nombre de données sont mises en cache.

La limite d'éléments mis en cache est de 1 000. Si plus de 1 000 éléments sont écrits, le cache stocke les 900 éléments dont la date d'expiration est la plus éloignée. Cette limite est susceptible d'être modifiée.

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

Paramètres

NomTypeDescription
keyStringClé sous laquelle stocker la valeur.
valueStringValeur à mettre en cache.
expirationInSecondsIntegerDurée maximale pendant laquelle la valeur reste dans le cache, en secondes. La valeur minimale est de 1 seconde et la valeur maximale de 21 600 secondes (6 heures).

putAll(values)

Ajoute un ensemble de paires clé/valeur au cache.

Semblable aux appels répétés à "put", mais plus efficace, car il n'effectue qu'un seul appel. La quantité de données pouvant être stockées par clé est de 100 Ko. Les valeurs expirent du cache au bout de 600 secondes (10 minutes).

La limite d'éléments mis en cache est de 1 000. Si plus de 1 000 éléments sont écrits, le cache stocke les 900 éléments dont la date d'expiration est la plus éloignée. Cette limite est susceptible d'être modifiée.

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

Paramètres

NomTypeDescription
valuesObjectObjet JavaScript contenant des clés et des valeurs de chaîne.

Voir aussi


putAll(values, expirationInSeconds)

Ajoute un ensemble de paires clé/valeur au cache, avec un délai d'expiration (en secondes).

Semblable aux appels répétés à "put", mais plus efficace, car il n'effectue qu'un seul appel au serveur memcache pour définir toutes les valeurs. La longueur maximale d'une clé est de 250 caractères. La quantité maximale de données pouvant être stockées par clé est de 100 Ko. Le délai d'expiration spécifié n'est qu'une suggestion. Les données mises en cache peuvent être supprimées avant ce délai si une grande quantité de données est mise en cache.

La limite d'éléments mis en cache est de 1 000. Si plus de 1 000 éléments sont écrits, le cache stocke les 900 éléments dont la date d'expiration est la plus éloignée. Cette limite est susceptible d'être modifiée.

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

Paramètres

NomTypeDescription
valuesObjectObjet JavaScript contenant des clés et des valeurs de chaîne.
expirationInSecondsIntegerDurée maximale pendant laquelle la valeur reste dans le cache, en secondes. La durée d'expiration minimale autorisée est de 1 seconde, et la durée d'expiration maximale autorisée est de 21 600 secondes (6 heures). Le délai d'expiration par défaut est de 600 secondes (10 minutes).

Voir aussi


remove(key)

Supprime une entrée du cache à l'aide de la clé donnée.

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

Paramètres

NomTypeDescription
keyStringClé à supprimer du cache.

removeAll(keys)

Supprime un ensemble d'entrées du cache.

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

Paramètres

NomTypeDescription
keysString[]Tableau des clés à supprimer.