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 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 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 hasil yang ditampilkanDeskripsi singkat
get(key)StringMendapatkan nilai yang di-cache untuk kunci yang diberikan, atau null jika tidak ada yang ditemukan.
getAll(keys)ObjectMenampilkan Objek JavaScript yang berisi semua pasangan nilai kunci 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 kumpulan pasangan nilai kunci ke cache.
putAll(values, expirationInSeconds)voidMenambahkan kumpulan 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 kumpulan entri dari cache.

Dokumentasi mendetail

get(key)

Mendapatkan nilai yang di-cache untuk kunci yang diberikan, 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 — nilai yang di-cache, atau null jika tidak ada yang ditemukan


getAll(keys)

Menampilkan Objek JavaScript yang berisi semua pasangan nilai kunci 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' would be: {'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 di 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 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 berlaku. 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 masa berlaku. 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 21.600 detik (6 jam).

putAll(values)

Menambahkan kumpulan pasangan nilai kunci ke cache.

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. 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 masa berlaku. 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 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 masa berlaku. 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. Waktu habis masa berlaku minimum yang diizinkan adalah 1 detik, dan waktu habis 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 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