Class Cache

Caché

Es una referencia a una caché en particular.

Esta clase te permite insertar, recuperar y quitar elementos de una caché. Esto puede ser particularmente útil cuando deseas tener acceso frecuente a un recurso costoso o lento. Por ejemplo, supongamos que tienes un feed RSS en example.com que tarda 20 segundos en recuperar, pero quieres acelerar el acceso en una solicitud promedio.

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;
}
Aún deberás esperar los 20 segundos si el elemento no está en la caché, pero las llamadas posteriores se realizarán muy rápido hasta que el elemento venza en la caché dentro de 25 minutos.

Métodos

MétodoTipo de datos que se muestraDescripción breve
get(key)StringObtiene el valor almacenado en caché de la clave dada o null si no se encuentra ninguno.
getAll(keys)ObjectMuestra un objeto JavaScript que contiene todos los pares clave-valor que se encuentran en la caché para un array de claves.
put(key, value)voidAgrega un par clave-valor a la caché.
put(key, value, expirationInSeconds)voidAgrega un par clave-valor a la caché, con una fecha de vencimiento (en segundos).
putAll(values)voidAgrega un conjunto de pares clave-valor a la caché.
putAll(values, expirationInSeconds)voidAgrega un conjunto de pares clave-valor a la caché, con una fecha de vencimiento (en segundos).
remove(key)voidQuita una entrada de la caché con la clave determinada.
removeAll(keys)voidQuita un conjunto de entradas de la caché.

Documentación detallada

get(key)

Obtiene el valor almacenado en caché de la clave dada o null si no se encuentra ninguno.

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

Parámetros

NombreTipoDescripción
keyStringla clave que se busca en la caché

Volver

String: Es el valor almacenado en caché o nulo si no se encontró ninguno.


getAll(keys)

Muestra un objeto JavaScript que contiene todos los pares clave-valor que se encuentran en la caché para un array de claves.

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

Parámetros

NombreTipoDescripción
keysString[]las claves de búsqueda

Volver

Object: Es un objeto JavaScript que contiene los pares clave-valor de todas las claves que se encuentran en la caché.

Consulta también


put(key, value)

Agrega un par clave-valor a la caché.

La longitud máxima de una clave es de 250 caracteres. La cantidad máxima de datos que se puede almacenar por clave es de 100 KB. El valor vence en la caché después de 600 segundos (10 minutos).

El límite de elementos almacenados en caché es de 1,000. Si se escriben más de 1,000 elementos, la caché almacena los 900 elementos más alejados del vencimiento. Este límite puede cambiar.

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

Parámetros

NombreTipoDescripción
keyStringla clave en la que se almacenará el valor
valueStringel valor que se almacenará en caché

put(key, value, expirationInSeconds)

Agrega un par clave-valor a la caché, con una fecha de vencimiento (en segundos).

La longitud máxima de una clave es de 250 caracteres. La cantidad máxima de datos que se puede almacenar por clave es de 100 KB. La hora de vencimiento especificada es solo una sugerencia. Los datos almacenados en caché pueden eliminarse antes de este momento si hay muchos datos almacenados en caché.

El límite de elementos almacenados en caché es de 1,000. Si se escriben más de 1,000 elementos, la caché almacena los 900 elementos más alejados del vencimiento. Este límite puede cambiar.

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

Parámetros

NombreTipoDescripción
keyStringla clave en la que se almacenará el valor
valueStringel valor que se almacenará en caché
expirationInSecondsIntegerEs el tiempo máximo que el valor permanece en la caché, en segundos. El mínimo es de 1 segundo y el máximo es de 21,600 segundos (6 horas).

putAll(values)

Agrega un conjunto de pares clave-valor a la caché.

Es similar a las llamadas repetidas a "put", pero es más eficiente, ya que solo realiza una llamada al servidor de memcache para establecer todos los valores. La longitud máxima de una clave es de 250 caracteres. La cantidad máxima de datos que se puede almacenar por clave es de 100 KB. Los valores vencerán en la caché después de 600 segundos (10 minutos).

El límite de elementos almacenados en caché es de 1,000. Si se escriben más de 1,000 elementos, la caché almacena los 900 elementos más alejados del vencimiento. Este límite puede cambiar.

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

Parámetros

NombreTipoDescripción
valuesObjectUn objeto JavaScript que contiene claves y valores de cadena

Consulta también


putAll(values, expirationInSeconds)

Agrega un conjunto de pares clave-valor a la caché, con una fecha de vencimiento (en segundos).

Es similar a las llamadas repetidas a "put", pero es más eficiente, ya que solo realiza una llamada al servidor de memcache para establecer todos los valores. La longitud máxima de una clave es de 250 caracteres. La cantidad máxima de datos que se puede almacenar por clave es de 100 KB. La hora de vencimiento especificada es solo una sugerencia. Es posible que los datos almacenados en caché se quiten antes de ese momento si hay muchos datos almacenados en caché.

El límite de elementos almacenados en caché es de 1,000. Si se escriben más de 1,000 elementos, la caché almacena los 900 elementos más alejados del vencimiento. Este límite puede cambiar.

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

Parámetros

NombreTipoDescripción
valuesObjectUn objeto JavaScript que contiene claves y valores de cadena
expirationInSecondsIntegerEs el tiempo máximo que el valor permanece en la caché, expresado en segundos. El vencimiento mínimo permitido es de 1 segundo y el máximo es de 21, 600 segundos (6 horas). El vencimiento predeterminado es de 600 segundos (10 minutos).

Consulta también


remove(key)

Quita una entrada de la caché con la clave determinada.

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

Parámetros

NombreTipoDescripción
keyStringla clave que se quitará de la caché

removeAll(keys)

Quita un conjunto de entradas de la caché.

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

Parámetros

NombreTipoDescripción
keysString[]el array de claves que se quitarán