การอ้างอิงไปยังแคชหนึ่งๆ
คลาสนี้ทำให้คุณสามารถแทรก เรียก และลบรายการออกจากแคชได้ ซึ่งจะเป็นประโยชน์อย่างยิ่งเมื่อคุณต้องการเข้าถึงทรัพยากรที่มีราคาแพงหรือทำงานช้าเป็นประจำ ตัวอย่างเช่น สมมติว่าคุณมีฟีด RSS ที่ example.com ที่ใช้เวลา 20 วินาทีในการดึงข้อมูล แต่คุณต้องการเพิ่มการเข้าถึงให้เร็วขึ้นตามคำขอโดยเฉลี่ย
function getRssFeed() { var cache = CacheService.getScriptCache(); var cached = cache.get("rss-feed-contents"); if (cached != null) { return cached; } var result = UrlFetchApp.fetch("http://example.com/my-slow-rss-feed.xml"); // takes 20 seconds var contents = result.getContentText(); cache.put("rss-feed-contents", contents, 1500); // cache for 25 minutes return contents; }คุณจะต้องรอ 20 วินาทีหากสินค้าไม่อยู่ในแคช แต่การโทรครั้งต่อๆ ไปจะทำอย่างรวดเร็วมากจนกว่าสินค้าจะออกจากแคชภายใน 25 นาที
วิธีการ
วิธีการ | ประเภทการแสดงผล | รายละเอียดแบบย่อ |
---|---|---|
get(key) | String | รับค่าที่แคชไว้สำหรับคีย์ที่ระบุ หรือเป็นค่าว่างหากไม่พบ |
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)
รับค่าที่แคชไว้สำหรับคีย์ที่ระบุ หรือเป็นค่าว่างหากไม่พบ
// Gets the value from the cache for the key 'foo'. var value = cache.get('foo');
พารามิเตอร์
ชื่อ | Type | คำอธิบาย |
---|---|---|
key | String | แป้นเพื่อค้นหาในแคช |
รีเทิร์น
String
— ค่าที่แคชไว้ หรือค่าว่างหากไม่พบ
getAll(keys)
แสดงผลออบเจ็กต์ JavaScript ที่มีคู่คีย์/ค่าทั้งหมดที่พบในแคชสำหรับอาร์เรย์ของคีย์
// Gets a set of values from the cache var values = cache.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'}
พารามิเตอร์
ชื่อ | Type | คำอธิบาย |
---|---|---|
keys | String[] | คีย์เพื่อค้นหา |
รีเทิร์น
Object
— ออบเจ็กต์ JavaScript ที่มีคู่คีย์/ค่าสำหรับคีย์ทั้งหมดที่พบในแคช
ดูเพิ่มเติม
put(key, value)
เพิ่มคู่คีย์/ค่าลงในแคช
ความยาวสูงสุดของคีย์คือ 250 อักขระ จำนวนข้อมูลสูงสุดที่เก็บได้ ต่อคีย์คือ 100 KB ค่านี้จะหมดอายุจากแคชหลังจากผ่านไป 600 วินาที (10 นาที)
จำนวนรายการที่แคชไว้สูงสุดคือ 1,000 รายการ หากมีการเขียนมากกว่า 1,000 รายการ แคชจะจัดเก็บรายการ 900 รายการที่ห่างจากวันหมดอายุมากที่สุด ขีดจำกัดนี้อาจมีการเปลี่ยนแปลง
// Puts the value 'bar' into the cache using the key 'foo' cache.put('foo', 'bar');
พารามิเตอร์
ชื่อ | Type | คำอธิบาย |
---|---|---|
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. cache.put('foo', 'bar', 20);
พารามิเตอร์
ชื่อ | Type | คำอธิบาย |
---|---|---|
key | String | คีย์สำหรับจัดเก็บค่าไว้ |
value | String | ค่าที่จะแคช |
expirationInSeconds | Integer | เวลาสูงสุดที่ค่าจะยังอยู่ในแคช หน่วยเป็นวินาที ขั้นต่ำคือ 1 วินาทีและสูงสุดคือ 21,600 วินาที (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'. var values = { 'foo': 'bar', 'x':'y', 'key': 'value' }; cache.putAll(values);
พารามิเตอร์
ชื่อ | Type | คำอธิบาย |
---|---|---|
values | Object | ออบเจ็กต์ 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'. var values = { 'foo': 'bar', 'x':'y', 'key': 'value' }; cache.putAll(values, 20);
พารามิเตอร์
ชื่อ | Type | คำอธิบาย |
---|---|---|
values | Object | ออบเจ็กต์ JavaScript ที่มีคีย์และค่าสตริง |
expirationInSeconds | Integer | เวลาสูงสุดที่ค่าจะยังคงอยู่ในแคชในหน่วยวินาที การหมดอายุขั้นต่ำที่อนุญาตคือ 1 วินาที และการหมดอายุสูงสุดที่อนุญาตคือ 21,600 วินาที (6 ชั่วโมง) เวลาหมดอายุเริ่มต้นคือ 600 วินาที (10 นาที) |
ดูเพิ่มเติม
remove(key)
ลบรายการออกจากแคชโดยใช้คีย์ที่ระบุ
// Removes any cache entries for 'foo' cache.remove('foo');
พารามิเตอร์
ชื่อ | Type | คำอธิบาย |
---|---|---|
key | String | คีย์ที่จะนำออกจากแคช |
removeAll(keys)
นำชุดรายการออกจากแคช
// Removes entries from the cache with keys 'foo' and 'x' cache.removeAll(['foo', 'x']);
พารามิเตอร์
ชื่อ | Type | คำอธิบาย |
---|---|---|
keys | String[] | อาร์เรย์ของคีย์ที่จะลบ |