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 disposiez d'un flux RSS sur example.com qui prend 20 secondes à extraire, 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 devrez toujours attendre 20 secondes si l'élément n'est pas dans le cache, mais les appels suivants seront très rapides jusqu'à l'expiration de l'élément du cache dans 25 minutes.

Méthodes

MéthodeType renvoyéBrève description
get(key)StringRé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 : valeur mise en cache, ou valeur nulle 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' would be: {'foo': 'somevalue', 'x': 'othervalue'}

Paramètres

NomTypeDescription
keysString[]les 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).

Le nombre maximal 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 les plus éloignés de l'expiration. Cette limite peut changer.

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
valueStringla valeur à 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. L'heure d'expiration spécifiée n'est qu'une suggestion. Les données mises en cache peuvent être supprimées avant cette heure si de nombreuses données sont mises en cache.

Le nombre maximal 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 les plus éloignés de l'expiration. Cette limite peut changer.

// 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
valueStringla valeur à mettre en cache ;
expirationInSecondsIntegerDurée maximale pendant laquelle la valeur reste dans le cache, en secondes. La durée minimale est de 1 seconde et la durée 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 de "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. Les valeurs expirent du cache au bout de 600 secondes (10 minutes).

Le nombre maximal 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 les plus éloignés de l'expiration. Cette limite peut changer.

// 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
valuesObjectun objet 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 de "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. L'heure d'expiration spécifiée n'est qu'une suggestion. Les données mises en cache peuvent être supprimées avant cette heure si de nombreuses données sont mises en cache.

Le nombre maximal 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 les plus éloignés de l'expiration. Cette limite peut changer.

// 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. L'expiration minimale autorisée est de 1 seconde, et l'expiration maximale autorisée est de 21 600 secondes (6 heures). L'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
keyStringla clé à 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[]le tableau des clés à supprimer