การอ้างอิงไปยังแคชที่เฉพาะเจาะจง
คลาสนี้ช่วยให้คุณแทรก ดึงข้อมูล และนำรายการออกจากแคชได้ ซึ่งจะมีประโยชน์อย่างยิ่งเมื่อคุณต้องการเข้าถึงทรัพยากรที่มีราคาแพงหรือช้าบ่อยๆ เช่น สมมติว่าคุณมีฟีด 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 | รับค่าที่แคชไว้สำหรับคีย์ที่ระบุ หรือ null หากไม่พบ |
get | Object | แสดงผลออบเจ็กต์ JavaScript ที่มีคู่คีย์/ค่าทั้งหมดที่พบในแคชสำหรับอาร์เรย์ของ คีย์ |
put(key, value) | void | เพิ่มคู่คีย์/ค่าลงในแคช |
put(key, value, expirationInSeconds) | void | เพิ่มคู่คีย์/ค่าลงในแคช โดยมีเวลาหมดอายุ (เป็นวินาที) |
put | void | เพิ่มชุดคู่คีย์/ค่าลงในแคช |
put | void | เพิ่มชุดคู่คีย์/ค่าลงในแคช โดยมีเวลาหมดอายุ (เป็นวินาที) |
remove(key) | void | นำรายการออกจากแคชโดยใช้คีย์ที่ระบุ |
remove | void | นำชุดรายการออกจากแคช |
เอกสารโดยละเอียด
get(key)
รับค่าที่แคชไว้สำหรับคีย์ที่ระบุ หรือ null หากไม่พบ
// Gets the value from the cache for the key 'foo'. const value = CacheService.getScriptCache().get('foo');
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
key | String | คีย์ที่จะค้นหาในแคช |
รีเทิร์น
String|null — ค่าที่แคชไว้ หรือ null หากไม่พบ
get All(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' is: {'foo': 'somevalue', 'x': 'othervalue'}
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
keys | String[] | คีย์ที่จะค้นหา |
รีเทิร์น
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');
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
key | String | คีย์ที่จะจัดเก็บค่าไว้ |
value | String | ค่าที่จะแคช |
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);
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
key | String | คีย์ที่จะจัดเก็บค่าไว้ |
value | String | ค่าที่จะแคช |
expiration | Integer | เวลาสูงสุดที่ค่าจะยังคงอยู่ในแคช หน่วยเป็นวินาที โดยมีระยะเวลาขั้นต่ำ 1 วินาทีและสูงสุด 21600 วินาที (6 ชั่วโมง) |
put All(values)
เพิ่มชุดคู่คีย์/ค่าลงในแคช
คล้ายกับการเรียก "put" ซ้ำ แต่มีประสิทธิภาพมากกว่าเนื่องจากจะเรียกเพียงครั้งเดียว จำนวนข้อมูลที่จัดเก็บต่อคีย์ได้คือ 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);
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
values | Object | ออบเจ็กต์ JavaScript ที่มีคีย์และค่าสตริง |
ดูเพิ่มเติม
put All(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);
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
values | Object | ออบเจ็กต์ JavaScript ที่มีคีย์และค่าสตริง |
expiration | Integer | เวลาสูงสุดที่ค่าจะยังคงอยู่ในแคชเป็นวินาที การหมดอายุขั้นต่ำที่อนุญาตคือ 1 วินาที และการหมดอายุสูงสุดที่อนุญาตคือ 21600 วินาที (6 ชั่วโมง) การหมดอายุเริ่มต้นคือ 600 วินาที (10 นาที) |
ดูเพิ่มเติม
remove(key)
นำรายการออกจากแคชโดยใช้คีย์ที่ระบุ
// Removes any cache entries for 'foo' CacheService.getUserCache().remove('foo');
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
key | String | คีย์ที่จะนำออกจากแคช |
remove All(keys)
นำชุดรายการออกจากแคช
// Removes entries from the cache with keys 'foo' and 'x' CacheService.getDocumentCache().removeAll(['foo', 'x']);
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
keys | String[] | อาร์เรย์ของคีย์ที่จะนำออก |