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;
}
Você ainda vai precisar esperar 20 segundos se o item não estiver no cache, mas as chamadas subsequentes vão ser muito rápidas até que o item expire do cache em 25 minutos.

Métodos

MétodoTipo de retornoBreve descrição
get(key)StringRecebe o valor armazenado em cache para a chave especificada ou null se nenhuma for encontrada.
getAll(keys)ObjectRetorna um objeto JavaScript contendo 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 tempo de expiração (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 tempo de expiração (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 armazenado em cache para a chave especificada ou null se nenhuma for encontrada.

// 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: o valor em cache ou nulo se nenhum for encontrado.


getAll(keys)

Retorna um objeto JavaScript contendo 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' would be: {'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 armazenará os 900 itens mais distantes da expiração. 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 tempo de expiração (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 armazenados em cache podem ser excluídos antes desse período se muitos dados estiverem armazenados em cache.

O limite para itens armazenados em cache é de 1.000. Se mais de 1.000 itens forem gravados, o cache armazenará os 900 itens mais distantes da expiração. 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 para o servidor de memcache para definir todos os valores. O tamanho máximo de uma chave é de 250 caracteres. A quantidade máxima de dados que podem ser armazenados por chave é de 100 KB. Os valores vão expirar 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 armazenará os 900 itens mais distantes da expiração. 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 tempo de expiração (em segundos).

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

O limite para itens armazenados em cache é de 1.000. Se mais de 1.000 itens forem gravados, o cache armazenará os 900 itens mais distantes da expiração. 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. A expiração mínima permitida é de 1 segundo, e a máxima é de 21.600 segundos (6 horas). 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 ser removida