Class Cache

Cache

Uma referência a um cache específico.

Essa classe permite inserir, recuperar e remover itens de um cache. Isso pode ser especialmente útil quando você quer acesso frequente a um recurso caro ou lento. Por exemplo, digamos que você tenha um feed RSS em example.com que leva 20 segundos para ser buscado, mas você quer acelerar o acesso em uma solicitação média.

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

Ainda é necessário esperar os 20 segundos se o item não estiver no cache, mas as chamadas subsequentes são muito rápidas até que o item expire do cache em 25 minutos.

Métodos

MétodoTipo de retornoBreve descrição
get(key)String|nullRecebe o valor em cache da chave especificada ou null se nenhum for encontrado.
getAll(keys)ObjectRetorna um objeto JavaScript que contém todos os pares de chave/valor encontrados no cache para uma matriz de chaves.
put(key, value)voidAdiciona um par de chave-valor ao cache.
put(key, value, expirationInSeconds)voidAdiciona um par de chave-valor ao cache, com um prazo de validade (em segundos).
putAll(values)voidAdiciona um conjunto de pares de chave-valor ao cache.
putAll(values, expirationInSeconds)voidAdiciona um conjunto de pares de chave-valor ao cache, com um prazo de validade (em segundos).
remove(key)voidRemove uma entrada do cache usando a chave especificada.
removeAll(keys)voidRemove um conjunto de entradas do cache.

Documentação detalhada

get(key)

Recebe o valor em cache da chave especificada ou null se nenhum for encontrado.

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

Parâmetros

NomeTipoDescrição
keyStringA chave a ser pesquisada no cache.

Retornar

String|null: o valor em cache ou null se nenhum for encontrado.


getAll(keys)

Retorna um objeto JavaScript que contém todos os pares de chave/valor encontrados no cache para uma matriz de chaves.

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

Parâmetros

NomeTipoDescrição
keysString[]As chaves a serem pesquisadas.

Retornar

Object: um objeto JavaScript que contém os pares de chave-valor de todas as chaves encontradas no cache.

Consulte também


put(key, value)

Adiciona um par de chave-valor ao cache.

O tamanho máximo de uma chave é de 250 caracteres. A quantidade máxima de dados que pode ser armazenada por chave é de 100 KB. O valor expira do cache após 600 segundos (10 minutos).

O limite para itens armazenados em cache é de 1.000. Se mais de 1.000 itens forem gravados, o cache vai armazenar os 900 itens mais distantes do vencimento. Esse limite pode mudar.

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

Parâmetros

NomeTipoDescrição
keyStringA chave para armazenar o valor.
valueStringO valor a ser armazenado em cache.

put(key, value, expirationInSeconds)

Adiciona um par de chave-valor ao cache, com um prazo de validade (em segundos).

O tamanho máximo de uma chave é de 250 caracteres. A quantidade máxima de dados que pode ser armazenada por chave é de 100 KB. O tempo de expiração especificado é apenas uma sugestão. Os dados em cache podem ser removidos antes desse horário se houver muitos dados armazenados em cache.

O limite para itens armazenados em cache é de 1.000. Se mais de 1.000 itens forem gravados, o cache vai armazenar os 900 itens mais distantes do vencimento. Esse limite pode mudar.

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

NomeTipoDescrição
keyStringA chave para armazenar o valor.
valueStringO valor a ser armazenado em cache.
expirationInSecondsIntegerO tempo máximo que o valor permanece no cache, em segundos. O mínimo é de 1 segundo e o máximo é de 21.600 segundos (6 horas).

putAll(values)

Adiciona um conjunto de pares de chave-valor ao cache.

Semelhante a chamadas repetidas para "put", mas mais eficiente, já que faz apenas uma chamada. A quantidade de dados que pode ser armazenada por chave é de 100 KB. Os valores expiram do cache após 600 segundos (10 minutos).

O limite para itens armazenados em cache é de 1.000. Se mais de 1.000 itens forem gravados, o cache vai armazenar os 900 itens mais distantes do vencimento. Esse limite pode mudar.

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

NomeTipoDescrição
valuesObjectUm objeto JavaScript que contém chaves e valores de string.

Consulte também


putAll(values, expirationInSeconds)

Adiciona um conjunto de pares de chave-valor ao cache, com um prazo de validade (em segundos).

Semelhante a chamadas repetidas para "put", mas mais eficiente, já que faz apenas uma chamada ao servidor memcache para definir todos os valores. O tamanho máximo de uma chave é de 250 caracteres. A quantidade máxima de dados que pode ser armazenada por chave é de 100 KB. O tempo de expiração especificado é apenas uma sugestão. Os dados em cache podem ser removidos antes desse período se houver muitos dados armazenados em cache.

O limite para itens armazenados em cache é de 1.000. Se mais de 1.000 itens forem gravados, o cache vai armazenar os 900 itens mais distantes do vencimento. Esse limite pode mudar.

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

NomeTipoDescrição
valuesObjectUm objeto JavaScript que contém chaves e valores de string.
expirationInSecondsIntegerO tempo máximo que o valor permanece no cache, em segundos. O tempo mínimo permitido é de 1 segundo, e o máximo é de 21.600 segundos (6 horas). A expiração padrão é de 600 segundos (10 minutos).

Consulte também


remove(key)

Remove uma entrada do cache usando a chave especificada.

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

Parâmetros

NomeTipoDescrição
keyStringA chave a ser removida do cache.

removeAll(keys)

Remove um conjunto de entradas do cache.

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

Parâmetros

NomeTipoDescrição
keysString[]A matriz de chaves a serem removidas.