Class Cache

แคช

การอ้างอิงแคชที่เฉพาะเจาะจง

คลาสนี้ช่วยให้คุณแทรก เรียกข้อมูล และนำรายการออกจากแคชได้ ซึ่งจะเป็นประโยชน์อย่างยิ่งเมื่อคุณต้องการเข้าถึงทรัพยากรที่มีราคาแพงหรือช้าบ่อยครั้ง ตัวอย่างเช่น สมมติว่าคุณมีฟีด RSS ที่ example.com ซึ่งใช้เวลา 20 วินาทีในการดึงข้อมูล แต่คุณต้องการเพิ่มความเร็วในการเข้าถึงในคำขอโดยเฉลี่ย

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;
}
คุณยังคงต้องรอ 20 วินาทีหากรายการไม่ได้อยู่ในแคช แต่การเรียกใช้ครั้งต่อๆ ไปจะรวดเร็วมากจนกว่ารายการจะหมดอายุจากแคชในอีก 25 นาที

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
get(key)Stringรับค่าที่แคชไว้สำหรับคีย์ที่ระบุ หรือ null หากไม่พบ
getAll(keys)Objectแสดงผลออบเจ็กต์ JavaScript ที่มีคู่คีย์/ค่าทั้งหมดที่พบในแคชสําหรับอาร์เรย์ของคีย์
put(key, value)voidเพิ่มคู่คีย์/ค่าลงในแคช
put(key, value, expirationInSeconds)voidเพิ่มคู่คีย์/ค่าลงในแคชโดยระบุเวลาหมดอายุ (เป็นวินาที)
putAll(values)voidเพิ่มชุดคู่คีย์/ค่าลงในแคช
putAll(values, expirationInSeconds)voidเพิ่มชุดคู่คีย์/ค่าลงในแคชโดยระบุเวลาหมดอายุ (เป็นวินาที)
remove(key)voidนํารายการออกจากแคชโดยใช้คีย์ที่ระบุ
removeAll(keys)voidนําชุดรายการออกจากแคช

เอกสารประกอบโดยละเอียด

get(key)

รับค่าที่แคชไว้สำหรับคีย์ที่ระบุ หรือ null หากไม่พบ

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
keyStringคีย์ที่จะค้นหาในแคช

รีเทิร์น

String — ค่าที่แคชไว้ หรือ Null หากไม่พบ


getAll(keys)

แสดงผลออบเจ็กต์ JavaScript ที่มีคู่คีย์/ค่าทั้งหมดที่พบในแคชสําหรับอาร์เรย์ของคีย์

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
keysString[]คีย์สําหรับการค้นหา

รีเทิร์น

Object — ออบเจ็กต์ JavaScript ที่มีคู่คีย์/ค่าสำหรับคีย์ทั้งหมดที่พบในแคช

ดูเพิ่มเติม


put(key, value)

เพิ่มคู่คีย์/ค่าลงในแคช

คีย์มีความยาวสูงสุดได้ 250 อักขระ ปริมาณข้อมูลสูงสุดที่สามารถจัดเก็บได้ต่อคีย์คือ 100 KB ค่าจะหมดอายุจากแคชหลังจากผ่านไป 600 วินาที (10 นาที)

จำนวนรายการที่แคชไว้ได้สูงสุดคือ 1,000 รายการ หากมีการเขียนรายการมากกว่า 1,000 รายการ แคชจะจัดเก็บรายการ 900 รายการที่ใกล้จะหมดอายุที่สุด ขีดจำกัดนี้อาจเปลี่ยนแปลงได้

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
keyStringคีย์สำหรับจัดเก็บค่า
valueStringค่าที่จะแคช

put(key, value, expirationInSeconds)

เพิ่มคู่คีย์/ค่าลงในแคชโดยระบุเวลาหมดอายุ (เป็นวินาที)

คีย์มีความยาวสูงสุดได้ 250 อักขระ ปริมาณข้อมูลสูงสุดที่สามารถจัดเก็บได้ต่อคีย์คือ 100 KB เวลาหมดอายุที่ระบุเป็นเพียงคําแนะนําเท่านั้น ระบบอาจนําข้อมูลที่แคชไว้ออกก่อนเวลาดังกล่าวหากมีการแคชข้อมูลจํานวนมาก

จำนวนรายการที่แคชไว้ได้สูงสุดคือ 1,000 รายการ หากมีการเขียนรายการมากกว่า 1,000 รายการ แคชจะจัดเก็บรายการ 900 รายการที่ใกล้จะหมดอายุที่สุด ขีดจำกัดนี้อาจมีการเปลี่ยนแปลง

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
keyStringคีย์สำหรับจัดเก็บค่า
valueStringค่าที่จะแคช
expirationInSecondsIntegerระยะเวลาสูงสุดที่ค่าจะอยู่ในแคชเป็นวินาที ขั้นต่ำคือ 1 วินาที และสูงสุดคือ 21600 วินาที (6 ชั่วโมง)

putAll(values)

เพิ่มชุดคู่คีย์/ค่าลงในแคช

คล้ายกับการเรียกใช้ "put" ซ้ำๆ แต่มีประสิทธิภาพมากกว่าเนื่องจากจะเรียกใช้เซิร์ฟเวอร์ memcache เพียงครั้งเดียวเพื่อตั้งค่าทั้งหมด คีย์มีความยาวสูงสุดได้ 250 อักขระ จำนวนข้อมูลสูงสุดที่สามารถจัดเก็บต่อคีย์คือ 100 KB ค่าจะหมดอายุจากแคชหลังจากผ่านไป 600 วินาที (10 นาที)

จำนวนสูงสุดของรายการที่แคชไว้คือ 1,000 รายการ หากมีการเขียนรายการมากกว่า 1,000 รายการ แคชจะจัดเก็บรายการ 900 รายการที่ใกล้จะหมดอายุที่สุด ขีดจำกัดนี้อาจมีการเปลี่ยนแปลง

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
valuesObjectออบเจ็กต์ JavaScript ที่มีคีย์และค่าสตริง

ดูเพิ่มเติม


putAll(values, expirationInSeconds)

เพิ่มชุดคู่คีย์/ค่าลงในแคชโดยระบุเวลาหมดอายุ (เป็นวินาที)

คล้ายกับการเรียกใช้ "put" ซ้ำๆ แต่มีประสิทธิภาพมากกว่าเนื่องจากจะเรียกใช้เซิร์ฟเวอร์ memcache เพียงครั้งเดียวเพื่อตั้งค่าทั้งหมด คีย์มีความยาวสูงสุดได้ 250 อักขระ จำนวนข้อมูลสูงสุดที่สามารถจัดเก็บต่อคีย์คือ 100 KB เวลาหมดอายุที่ระบุเป็นเพียงคำแนะนำเท่านั้น ระบบอาจนำข้อมูลที่แคชไว้ออกก่อนเวลาดังกล่าวหากมีการแคชข้อมูลไว้เป็นจำนวนมาก

จำนวนรายการที่แคชไว้ได้สูงสุดคือ 1,000 รายการ หากมีการเขียนรายการมากกว่า 1,000 รายการ แคชจะจัดเก็บรายการ 900 รายการที่ใกล้จะหมดอายุที่สุด ขีดจำกัดนี้อาจเปลี่ยนแปลงได้

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
valuesObjectออบเจ็กต์ JavaScript ที่มีคีย์และค่าสตริง
expirationInSecondsIntegerระยะเวลาสูงสุดที่ค่าจะอยู่ในแคชเป็นวินาที การหมดอายุขั้นต่ำที่อนุญาตคือ 1 วินาที และการหมดอายุสูงสุดที่อนุญาตคือ 21600 วินาที (6 ชั่วโมง) ระยะเวลาหมดอายุเริ่มต้นคือ 600 วินาที (10 นาที)

ดูเพิ่มเติม


remove(key)

นำรายการออกจากแคชโดยใช้คีย์ที่ระบุ

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
keyStringคีย์ที่จะนำออกจากแคช

removeAll(keys)

นําชุดรายการออกจากแคช

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

พารามิเตอร์

ชื่อประเภทคำอธิบาย
keysString[]อาร์เรย์ของคีย์ที่จะนําออก