特定快取的參照。
這個類別可讓您在快取中插入、擷取及移除項目。可用的值包括 當您需要經常存取昂貴或速度緩慢的資源時,這項功能特別實用。例如: 假設您在 example.com 上傳一則 RSS 動態消息需要 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');
參數
名稱 | 類型 | 說明 |
---|---|---|
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'}
參數
名稱 | 類型 | 說明 |
---|---|---|
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');
參數
名稱 | 類型 | 說明 |
---|---|---|
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);
參數
名稱 | 類型 | 說明 |
---|---|---|
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);
參數
名稱 | 類型 | 說明 |
---|---|---|
values | Object | 包含字串鍵和值的 JavaScript 物件 |
另請參閱
putAll(values, expirationInSeconds)
將一組鍵/值組合新增至快取,設有到期時間 (以秒為單位)。
與重複呼叫「put」類似,但也只能進行一次呼叫,因此效率更高 Memcache 伺服器來設定所有值。金鑰的長度上限為 250 個字元。最大值 每個金鑰可儲存的資料量為 100 KB。指定的到期時間 建議;如果快取了大量資料,則可能會在 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, 20);
參數
名稱 | 類型 | 說明 |
---|---|---|
values | Object | 包含字串鍵和值的 JavaScript 物件 |
expirationInSeconds | Integer | 值保留在快取中的時間長度上限 (以秒為單位) 允許的到期時間下限為 1 秒,最長 21, 600 秒 (6 小時)。預設的到期時間為 600 秒 (10 分鐘)。 |
另請參閱
remove(key)
使用指定的鍵從快取中移除項目。
// Removes any cache entries for 'foo' cache.remove('foo');
參數
名稱 | 類型 | 說明 |
---|---|---|
key | String | 要從快取中移除的鍵 |
removeAll(keys)
從快取中移除一組項目。
// Removes entries from the cache with keys 'foo' and 'x' cache.removeAll(['foo', 'x']);
參數
名稱 | 類型 | 說明 |
---|---|---|
keys | String[] | 要移除的鍵陣列 |