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 útil principalmente 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 quer acelerar o acesso em uma solicitação comum.

function getRssFeed() {
  var cache = CacheService.getScriptCache();
  var cached = cache.get("rss-feed-contents");
  if (cached != null) {
    return cached;
  }
  var result = UrlFetchApp.fetch("http://example.com/my-slow-rss-feed.xml"); // takes 20 seconds
  var contents = result.getContentText();
  cache.put("rss-feed-contents", contents, 1500); // cache for 25 minutes
  return contents;
}
Você ainda precisará aguardar 20 segundos se o item não estiver no cache, mas as chamadas subsequentes serão muito rápidas até que o item expire fora 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 retorna nulo se nenhum é 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 fornecida.
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 retorna nulo se nenhum é encontrado.

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

Parâmetros

NomeTipoDescrição
keyStringa chave para procurar no cache

Retorno

String: o valor armazenado em cache ou nulo 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
var values = cache.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 para procurar

Retorno

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

Veja 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.

// 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 prazo de validade especificado é apenas uma sugestão. Os dados em cache poderão ser removidos antes desse período se muitos dados estiverem armazenados.

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.
cache.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, porque faz apenas uma chamada ao servidor do 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 é 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 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'.
var values = {
  'foo': 'bar',
  'x':'y',
  'key': 'value'
};
cache.putAll(values);

Parâmetros

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

Veja 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, porque faz apenas uma chamada ao servidor do 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 é 100 KB. O prazo de validade especificado é apenas uma sugestão. Os dados em cache poderão ser removidos antes desse período se muitos dados estiverem armazenados.

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'.
var values = {
  'foo': 'bar',
  'x':'y',
  'key': 'value'
};
cache.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 um segundo, e a máxima permitida é de 21.600 segundos (6 horas). A expiração padrão é de 600 segundos (10 minutos).

Veja também


remove(key)

Remove uma entrada do cache usando a chave fornecida.

// Removes any cache entries for 'foo'
cache.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'
cache.removeAll(['foo', 'x']);

Parâmetros

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