Class Cache

Cache

Referensi ke cache tertentu.

Class ini memungkinkan Anda menyisipkan, mengambil, dan menghapus item dari cache. Hal ini dapat sangat berguna jika Anda sering mengakses resource yang mahal atau lambat. Misalnya, Anda memiliki feed RSS di example.com yang memerlukan waktu 20 detik untuk mengambil data, 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 masih harus menunggu 20 detik jika item tidak ada dalam cache, tetapi panggilan berikutnya akan sangat cepat hingga item habis masa berlakunya 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 key-value pair ke cache, dengan waktu habis masa berlaku (dalam detik).
putAll(values)voidMenambahkan kumpulan key-value pair ke cache.
putAll(values, expirationInSeconds)voidMenambahkan kumpulan key-value pair ke cache, dengan waktu habis masa berlaku (dalam detik).
remove(key)voidMenghapus entri dari cache menggunakan kunci tertentu.
removeAll(keys)voidMenghapus kumpulan 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.

Hasil

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.

Hasil

Object — Objek JavaScript yang berisi key-value pair 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 data maksimum yang dapat disimpan per kunci adalah 100 KB. Nilai akan habis 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 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 key-value pair ke cache, dengan waktu habis masa berlaku (dalam detik).

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 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. Minimum adalah 1 detik dan maksimum adalah 21.600 detik (6 jam).

putAll(values)

Menambahkan kumpulan 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 habis 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 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 kumpulan key-value pair 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 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. The 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 tertentu.

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

Parameter

NamaJenisDeskripsi
keyStringKunci yang akan dihapus dari cache.

removeAll(keys)

Menghapus kumpulan 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.