Class Cache

Cache

Referensi ke cache tertentu.

Class ini memungkinkan Anda menyisipkan, mengambil, dan menghapus item dari cache. Hal ini akan sangat berguna saat Anda ingin sering mengakses resource yang mahal atau lambat. Misalnya, Anda memiliki feed RSS di example.com yang memerlukan waktu 20 detik untuk diambil, tetapi Anda ingin mempercepat akses pada permintaan rata-rata.

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

Anda tetap harus menunggu 20 detik jika item tidak ada dalam cache, tetapi panggilan berikutnya sangat cepat hingga item berakhir dari cache dalam 25 menit.

Metode

MetodeJenis nilai yang ditampilkanDeskripsi singkat
get(key)String|nullMendapatkan nilai yang di-cache untuk kunci tertentu, atau null jika tidak ada yang ditemukan.
getAll(keys)ObjectMenampilkan Objek JavaScript yang berisi semua key/value pair yang ditemukan dalam cache untuk array kunci.
put(key, value)voidMenambahkan key-value pair ke cache.
put(key, value, expirationInSeconds)voidMenambahkan pasangan nilai kunci ke cache, dengan waktu habis masa berlaku (dalam detik).
putAll(values)voidMenambahkan serangkaian key-value pair ke cache.
putAll(values, expirationInSeconds)voidMenambahkan serangkaian pasangan nilai kunci ke cache, dengan waktu habis masa berlaku (dalam detik).
remove(key)voidMenghapus entri dari cache menggunakan kunci yang diberikan.
removeAll(keys)voidMenghapus sekumpulan entri dari cache.

Dokumentasi mendetail

get(key)

Mendapatkan nilai yang di-cache untuk kunci tertentu, atau null jika tidak ada yang ditemukan.

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

Parameter

NamaJenisDeskripsi
keyStringKunci yang akan dicari di cache.

Pulang pergi

String|null — Nilai yang di-cache, atau null jika tidak ada yang ditemukan.


getAll(keys)

Menampilkan Objek JavaScript yang berisi semua key/value pair yang ditemukan dalam cache untuk array kunci.

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

Parameter

NamaJenisDeskripsi
keysString[]Kunci yang akan dicari.

Pulang pergi

Object — Objek JavaScript yang berisi pasangan nilai/kunci untuk semua kunci yang ditemukan dalam cache.

Lihat juga


put(key, value)

Menambahkan key-value pair ke cache.

Panjang maksimum kunci adalah 250 karakter. Jumlah maksimum data yang dapat disimpan per kunci adalah 100 KB. Nilai akan berakhir dari cache setelah 600 detik (10 menit).

Batas untuk item yang di-cache adalah 1.000. Jika lebih dari 1.000 item ditulis, cache akan menyimpan 900 item yang paling jauh dari waktu habis masa berlakunya. Batas ini dapat berubah.

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

Parameter

NamaJenisDeskripsi
keyStringKunci untuk menyimpan nilai.
valueStringNilai yang akan di-cache.

put(key, value, expirationInSeconds)

Menambahkan pasangan nilai kunci ke cache, dengan waktu habis masa berlaku (dalam detik).

Panjang maksimum kunci adalah 250 karakter. Jumlah maksimum data yang dapat disimpan per kunci adalah 100 KB. Waktu habis masa berlaku yang ditentukan hanyalah saran; data yang di-cache dapat dihapus sebelum waktu ini jika banyak data yang di-cache.

Batas untuk item yang di-cache adalah 1.000. Jika lebih dari 1.000 item ditulis, cache akan menyimpan 900 item yang paling jauh dari waktu habis masa berlakunya. Batas ini dapat berubah.

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

Parameter

NamaJenisDeskripsi
keyStringKunci untuk menyimpan nilai.
valueStringNilai yang akan di-cache.
expirationInSecondsIntegerWaktu maksimum nilai tetap berada dalam cache, dalam detik. Durasi minimum adalah 1 detik dan maksimum adalah 21.600 detik (6 jam).

putAll(values)

Menambahkan serangkaian key-value pair ke cache.

Mirip dengan panggilan berulang ke "put", tetapi lebih efisien karena hanya melakukan satu panggilan ke jumlah data yang dapat disimpan per kunci adalah 100 KB. Nilai akan berakhir masa berlakunya dari cache setelah 600 detik (10 menit).

Batas untuk item yang di-cache adalah 1.000. Jika lebih dari 1.000 item ditulis, cache akan menyimpan 900 item yang paling jauh dari waktu habis masa berlakunya. Batas ini dapat berubah.

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

Parameter

NamaJenisDeskripsi
valuesObjectObjek JavaScript yang berisi kunci dan nilai string.

Lihat juga


putAll(values, expirationInSeconds)

Menambahkan serangkaian pasangan nilai kunci ke cache, dengan waktu habis masa berlaku (dalam detik).

Mirip dengan panggilan berulang ke "put", tetapi lebih efisien karena hanya melakukan satu panggilan ke server memcache untuk menetapkan semua nilai. Panjang maksimum kunci adalah 250 karakter. Jumlah data maksimum yang dapat disimpan per kunci adalah 100 KB. Waktu habis masa berlaku yang ditentukan hanyalah saran; data yang di-cache dapat dihapus sebelum waktu ini jika banyak data yang di-cache.

Batas untuk item yang di-cache adalah 1.000. Jika lebih dari 1.000 item ditulis, cache akan menyimpan 900 item yang paling jauh dari waktu habis masa berlakunya. Batas ini dapat berubah.

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

Parameter

NamaJenisDeskripsi
valuesObjectObjek JavaScript yang berisi kunci dan nilai string.
expirationInSecondsIntegerWaktu maksimum nilai tetap berada dalam cache, dalam detik. Masa berlaku minimum yang diizinkan adalah 1 detik, dan masa berlaku maksimum yang diizinkan adalah 21.600 detik (6 jam). Masa berlaku default adalah 600 detik (10 menit).

Lihat juga


remove(key)

Menghapus entri dari cache menggunakan kunci yang diberikan.

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

Parameter

NamaJenisDeskripsi
keyStringKunci yang akan dihapus dari cache.

removeAll(keys)

Menghapus sekumpulan entri dari cache.

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

Parameter

NamaJenisDeskripsi
keysString[]Array kunci yang akan dihapus.