Class Cache

Pamięć podręczna

Odwołanie do konkretnej pamięci podręcznej.

Ta klasa umożliwia wstawianie, pobieranie i usuwanie elementów z pamięci podręcznej. Może to być szczególnie przydatne, gdy chcesz mieć częsty dostęp do drogiego lub wolnego zasobu. Załóżmy na przykład, że masz kanał RSS na stronie example.com, którego pobranie zajmuje 20 sekund, ale chcesz przyspieszyć dostęp do niego w przypadku przeciętnego żądania.

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

Jeśli elementu nie ma w pamięci podręcznej, nadal musisz odczekać 20 sekund, ale kolejne wywołania są bardzo szybkie, dopóki element nie wygaśnie z pamięci podręcznej po 25 minutach.

Metody

MetodaZwracany typKrótki opis
get(key)String|nullPobiera wartość z pamięci podręcznej dla danego klucza lub null, jeśli nie znaleziono żadnej wartości.
getAll(keys)ObjectZwraca obiekt w JavaScripcie zawierający wszystkie pary klucz-wartość znalezione w pamięci podręcznej dla tablicy kluczy.
put(key, value)voidDodaje do pamięci podręcznej parę klucz/wartość.
put(key, value, expirationInSeconds)voidDodaje do pamięci podręcznej parę klucz/wartość z czasem wygaśnięcia (w sekundach).
putAll(values)voidDodaje do pamięci podręcznej zestaw par klucz/wartość.
putAll(values, expirationInSeconds)voidDodaje do pamięci podręcznej zestaw par klucz/wartość z czasem wygaśnięcia (w sekundach).
remove(key)voidUsuwa wpis z pamięci podręcznej przy użyciu podanego klucza.
removeAll(keys)voidUsuwa z pamięci podręcznej zestaw wpisów.

Szczegółowa dokumentacja

get(key)

Pobiera wartość z pamięci podręcznej dla danego klucza lub null, jeśli nie znaleziono żadnej wartości.

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

Parametry

NazwaTypOpis
keyStringKlucz do wyszukania w pamięci podręcznej.

Powrót

String|null – wartość z pamięci podręcznej lub null, jeśli nie znaleziono żadnej wartości.


getAll(keys)

Zwraca obiekt w JavaScripcie zawierający wszystkie pary klucz-wartość znalezione w pamięci podręcznej dla tablicy kluczy.

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

Parametry

NazwaTypOpis
keysString[]Klucze do wyszukania.

Powrót

Object – obiekt w JavaScripcie zawierający pary klucz-wartość dla wszystkich kluczy znalezionych w pamięci podręcznej.

Zobacz też


put(key, value)

Dodaje do pamięci podręcznej parę klucz/wartość.

Maksymalna długość klucza to 250 znaków. Maksymalna ilość danych, które można przechowywać dla każdego klucza, to 100 KB. Wartość wygasa z pamięci podręcznej po 600 sekundach (10 minut).

Limit elementów w pamięci podręcznej wynosi 1000. Jeśli zapisanych zostanie ponad 1000 elementów,w pamięci podręcznej zostanie zapisanych 900 elementów, których termin ważności jest najdalszy. Ten limit może ulec zmianie.

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

Parametry

NazwaTypOpis
keyStringKlucz, pod którym ma być przechowywana wartość.
valueStringWartość do zapisania w pamięci podręcznej.

put(key, value, expirationInSeconds)

Dodaje do pamięci podręcznej parę klucz/wartość z czasem wygaśnięcia (w sekundach).

Maksymalna długość klucza to 250 znaków. Maksymalna ilość danych, które można przechowywać dla każdego klucza, to 100 KB. Określony czas wygaśnięcia jest tylko sugestią. Dane w pamięci podręcznej mogą zostać usunięte wcześniej, jeśli w pamięci podręcznej znajduje się dużo danych.

Limit elementów w pamięci podręcznej wynosi 1000. Jeśli zapisanych zostanie ponad 1000 elementów,w pamięci podręcznej zostanie zapisanych 900 elementów, których termin ważności jest najdalszy. Ten limit może ulec zmianie.

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

Parametry

NazwaTypOpis
keyStringKlucz, pod którym ma być przechowywana wartość.
valueStringWartość do zapisania w pamięci podręcznej.
expirationInSecondsIntegerMaksymalny czas, przez jaki wartość pozostaje w pamięci podręcznej (w sekundach). Minimalna wartość to 1 sekunda, a maksymalna to 21 600 sekund (6 godzin).

putAll(values)

Dodaje do pamięci podręcznej zestaw par klucz/wartość.

Podobne do wielokrotnych wywołań funkcji „put”, ale bardziej wydajne, ponieważ wykonuje tylko jedno wywołanie. Ilość danych, które można przechowywać na klucz, wynosi 100 KB. Wartości wygasają z pamięci podręcznej po 600 sekundach (10 minut).

Limit elementów w pamięci podręcznej wynosi 1000. Jeśli zapisanych zostanie ponad 1000 elementów,w pamięci podręcznej zostanie zapisanych 900 elementów, których termin ważności jest najdalszy. Ten limit może ulec zmianie.

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

Parametry

NazwaTypOpis
valuesObjectObiekt w JavaScripcie zawierający klucze i wartości w postaci ciągów znaków.

Zobacz też


putAll(values, expirationInSeconds)

Dodaje do pamięci podręcznej zestaw par klucz/wartość z czasem wygaśnięcia (w sekundach).

Podobne do wielokrotnego wywoływania funkcji „put”, ale bardziej wydajne, ponieważ wykonuje tylko jedno wywołanie serwera memcache w celu ustawienia wszystkich wartości. Maksymalna długość klucza to 250 znaków. Maksymalna ilość danych, które można przechowywać na klucz, to 100 KB. Określony czas wygaśnięcia jest tylko sugestią. Dane w pamięci podręcznej mogą zostać usunięte wcześniej, jeśli w pamięci podręcznej znajduje się dużo danych.

Limit elementów w pamięci podręcznej wynosi 1000. Jeśli zapisanych zostanie ponad 1000 elementów,w pamięci podręcznej zostanie zapisanych 900 elementów, których termin ważności jest najdalszy. Ten limit może ulec zmianie.

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

Parametry

NazwaTypOpis
valuesObjectObiekt w JavaScripcie zawierający klucze i wartości w postaci ciągów znaków.
expirationInSecondsIntegerMaksymalny czas, przez jaki wartość pozostaje w pamięci podręcznej, w sekundach. Minimalny dozwolony czas wygaśnięcia to 1 sekunda, a maksymalny to 21600 sekund (6 godzin). Domyślny czas wygaśnięcia to 600 sekund (10 minut).

Zobacz też


remove(key)

Usuwa wpis z pamięci podręcznej przy użyciu podanego klucza.

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

Parametry

NazwaTypOpis
keyStringKlucz do usunięcia z pamięci podręcznej.

removeAll(keys)

Usuwa z pamięci podręcznej zestaw wpisów.

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

Parametry

NazwaTypOpis
keysString[]Tablica kluczy do usunięcia.