Class Cache

Önbellek

Belirli bir önbelleğe referans.

Bu sınıf, bir önbelleğe öğe eklemenize, öğe almanıza ve öğe kaldırmanıza olanak tanır. Bu, özellikle pahalı veya yavaş bir kaynağa sık sık erişmek istediğinizde yararlı olabilir. Örneğin, example.com adresinde getirme işleminin 20 saniye sürdüğü bir RSS özet akışınız olduğunu ancak ortalama bir istekle 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 sonraki çağrılar, öğenin önbellekten süresi dolana kadar (25 dakika) çok hızlı olur.

Yöntemler

YöntemDönüş türüKısa açıklama
get(key)StringBelirtilen anahtar için önbelleğe alınan değeri veya hiçbir değer 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) içeren 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) içeren bir anahtar/değer çifti grubu ekler.
remove(key)voidBelirtilen anahtarı kullanarak bir girişi önbellekten kaldırır.
removeAll(keys)voidBir giriş grubunu önbellekten kaldırır.

Ayrıntılı dokümanlar

get(key)

Belirtilen anahtar için önbelleğe alınan değeri veya hiçbir değer 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: Önbelleğe alınan değer veya hiçbir değer 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' would be: {'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.

Anahtarların maksimum uzunluğu 250 karakterdir. Anahtar başına depolanabilecek maksimum veri miktarı 100 KB'tır. Değerin önbelleğe alma süresi 600 saniye (10 dakika) sonra dolar.

Önbelleğe alınan öğelerin üst sınırı 1.000'dir. 1.000'den fazla öğe yazılırsa önbellekte, geçerlilik süresi en uzak olan 900 öğe saklanır. 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) içeren bir anahtar/değer çifti ekler.

Anahtarların maksimum uzunluğu 250 karakterdir. Anahtar başına depolanabilecek maksimum veri miktarı 100 KB'tır. Belirtilen geçerlilik bitiş 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 üst sınırı 1.000'dir. 1.000'den fazla öğe yazılırsa önbellekte, geçerlilik süresi en uzak olan 900 öğe saklanır. 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 değer 1 saniye, maksimum değer ise 21.600 saniyedir (6 saat).

putAll(values)

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

"put" çağrılarının tekrarına benzer ancak tüm değerleri ayarlamak için memcache sunucusuna yalnızca bir çağrı yaptığından daha verimlidir. Anahtarların maksimum uzunluğu 250 karakterdir. Anahtar başına depolanabilecek maksimum veri miktarı 100 KB'tır. Değerler, 600 saniye (10 dakika) sonra önbellekten silinir.

Önbelleğe alınan öğelerin üst sınırı 1.000'dir. 1.000'den fazla öğe yazılırsa önbellekte, geçerlilik süresi en uzak olan 900 öğe saklanır. 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) içeren bir anahtar/değer çifti grubu ekler.

"put" çağrılarının tekrarına benzer ancak tüm değerleri ayarlamak için memcache sunucusuna yalnızca bir çağrı yaptığından daha verimlidir. Anahtarların maksimum uzunluğu 250 karakterdir. Anahtar başına depolanabilecek maksimum veri miktarı 100 KB'tır. Belirtilen süre sonu 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 üst sınırı 1.000'dir. 1.000'den fazla öğe yazılırsa önbellekte, geçerlilik süresi en uzak olan 900 öğe saklanır. 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, maksimum geçerlilik süresi ise 21.600 saniyedir (6 saat). Varsayılan son kullanma süresi 600 saniyedir (10 dakika).

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


remove(key)

Belirtilen anahtarı kullanarak bir girişi önbellekten 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)

Bir giriş grubunu önbellekten kaldırır.

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

Parametreler

AdTürAçıklama
keysString[]Kaldırmak istediğiniz anahtar dizisi