Class Cache

Önbellek

Belirli bir önbelleğe yapılan referans.

Bu sınıf, öğeleri bir önbelleğe eklemenize, önbellekten almanıza ve kaldırmanıza olanak tanır. Bu özellik, özellikle pahalı veya yavaş bir kaynağa sık sık erişmek istediğinizde yararlı olabilir. Örneğin, example.com adresinde 20 saniyede getirilen bir RSS özet akışınız olduğunu ancak ortalama bir istekte erişimi hızlandırmak istediğinizi varsayalım.

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

Öğe önbellekte değilse 20 saniye beklemeniz gerekir. Ancak öğenin 25 dakika içinde önbellekten süresi dolana kadar sonraki aramalar çok hızlıdır.

Yöntemler

YöntemDönüş türüKısa açıklama
get(key)String|nullBelirtilen anahtarın önbelleğe alınmış değerini veya bulunamazsa null değerini alır.
getAll(keys)ObjectBir anahtar dizisi için önbellekte bulunan tüm anahtar/değer çiftlerini içeren bir JavaScript nesnesi döndürür.
put(key, value)voidÖnbelleğe bir anahtar/değer çifti ekler.
put(key, value, expirationInSeconds)voidÖnbelleğe, süre sonu süresi (saniye cinsinden) olan bir anahtar/değer çifti ekler.
putAll(values)voidÖnbelleğe bir dizi anahtar/değer çifti ekler.
putAll(values, expirationInSeconds)voidÖnbelleğe, süre sonu süresi (saniye cinsinden) olan bir dizi anahtar/değer çifti ekler.
remove(key)voidBelirtilen anahtarı kullanarak önbellekten bir girişi kaldırır.
removeAll(keys)voidÖnbellekten bir dizi girişi kaldırır.

Ayrıntılı belgeler

get(key)

Belirtilen anahtarın önbelleğe alınmış değerini veya bulunamazsa null değerini alır.

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

Parametreler

AdTürAçıklama
keyStringÖnbellekte aranacak anahtar.

Return

String|null: Önbelleğe alınan değer veya bulunamadıysa null.


getAll(keys)

Bir anahtar dizisi için önbellekte bulunan tüm anahtar/değer çiftlerini içeren bir JavaScript nesnesi döndürür.

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

Parametreler

AdTürAçıklama
keysString[]Aranacak anahtarlar.

Return

Object: Önbellekte bulunan tüm anahtarların anahtar/değer çiftlerini içeren bir JavaScript nesnesi.

Aşağıdaki kaynakları da incelemenizi öneririz:


put(key, value)

Önbelleğe bir anahtar/değer çifti ekler.

Anahtarın maksimum uzunluğu 250 karakterdir. Anahtar başına depolanabilecek maksimum veri miktarı 100 KB'tır. Değerin önbellekteki geçerlilik süresi 600 saniyedir (10 dakika).

Önbelleğe alınan öğelerin sınırı 1.000'dir. 1.000'den fazla öğe yazılırsa önbellek, geçerlilik süresi en uzun olan 900 öğeyi depolar. Bu sınır değişebilir.

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

Parametreler

AdTürAçıklama
keyStringDeğerin depolanacağı anahtar.
valueStringÖnbelleğe alınacak değer.

put(key, value, expirationInSeconds)

Önbelleğe, süre sonu süresi (saniye cinsinden) olan bir anahtar/değer çifti ekler.

Anahtarın maksimum uzunluğu 250 karakterdir. Anahtar başına depolanabilecek maksimum veri miktarı 100 KB'tır. Belirtilen geçerlilik süresi yalnızca bir öneridir. Çok fazla veri önbelleğe alınırsa önbelleğe alınan veriler bu süreden önce kaldırılabilir.

Önbelleğe alınan öğelerin sınırı 1.000'dir. 1.000'den fazla öğe yazılırsa önbellek, geçerlilik süresi en uzun olan 900 öğeyi depolar. Bu sınır değişebilir.

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

Parametreler

AdTürAçıklama
keyStringDeğerin depolanacağı anahtar.
valueStringÖnbelleğe alınacak değer.
expirationInSecondsIntegerDeğerin önbellekte kalacağı maksimum süre (saniye cinsinden). Minimum süre 1 saniye, maksimum süre ise 21.600 saniyedir (6 saat).

putAll(values)

Önbelleğe bir dizi anahtar/değer çifti ekler.

"Put" için yapılan tekrarlı çağrılara benzer ancak anahtar başına depolanabilecek veri miktarı 100 KB olduğundan yalnızca bir çağrı yapıldığı için daha verimlidir. Değerlerin süresi 600 saniye (10 dakika) sonra önbellekte dolar.

Önbelleğe alınan öğelerin sınırı 1.000'dir. 1.000'den fazla öğe yazılırsa önbellek, geçerlilik süresi en uzun olan 900 öğeyi depolar. Bu sınır değişebilir.

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

Parametreler

AdTürAçıklama
valuesObjectDize anahtarları ve değerleri içeren bir JavaScript nesnesi.

Aşağıdaki kaynakları da incelemenizi öneririz:


putAll(values, expirationInSeconds)

Önbelleğe, süre sonu süresi (saniye cinsinden) olan bir dizi anahtar/değer çifti ekler.

"Put" için yapılan tekrarlı çağrılara benzer ancak tüm değerleri ayarlamak için memcache sunucusuna yalnızca bir çağrı yaptığı için daha verimlidir. Anahtarın maksimum uzunluğu 250 karakterdir. Anahtar başına depolanabilecek maksimum veri miktarı 100 KB'tır. Belirtilen son kullanma süresi yalnızca bir öneridir. Çok fazla veri önbelleğe alınırsa önbelleğe alınan veriler bu süreden önce kaldırılabilir.

Önbelleğe alınan öğelerin sınırı 1.000'dir. 1.000'den fazla öğe yazılırsa önbellek, geçerlilik süresi en uzun olan 900 öğeyi depolar. Bu sınır değişebilir.

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

Parametreler

AdTürAçıklama
valuesObjectDize anahtarları ve değerleri içeren bir JavaScript nesnesi.
expirationInSecondsIntegerDeğerin önbellekte kalacağı maksimum süre (saniye cinsinden). İzin verilen minimum geçerlilik süresi 1 saniye, izin verilen maksimum geçerlilik süresi ise 21.600 saniyedir (6 saat). Varsayılan geçerlilik süresi 600 saniyedir (10 dakika).

Aşağıdaki kaynakları da incelemenizi öneririz:


remove(key)

Belirtilen anahtarı kullanarak önbellekten bir girişi kaldırır.

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

Parametreler

AdTürAçıklama
keyStringÖnbellekten kaldırılacak anahtar.

removeAll(keys)

Önbellekten bir dizi girişi kaldırır.

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

Parametreler

AdTürAçıklama
keysString[]Kaldırılacak anahtarlar dizisi.