对特定缓存的引用。
通过该类,您可以在缓存中插入、检索和删除项。可以是 特别适用于需要频繁访问昂贵或速度缓慢的资源时。例如: 假设您在 example.com 上有一个需要 20 秒提取的 RSS Feed,但您希望提高 平均请求次数
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 | 获取给定键的缓存值,如果未找到任何值,则返回 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'. var value = cache.get('foo');
参数
名称 | 类型 | 说明 |
---|---|---|
key | String | 要在缓存中查找的键 |
返回
String
- 缓存的值,如果未找到任何值,则返回 null
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 个字符。可存储的数据量上限 为 100KB。该值将在 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 个字符。可存储的数据量上限 为 100KB。指定的到期时间只是一个建议;缓存数据 如果缓存了大量数据,则会在此之前移除。
缓存内容的上限为 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 秒,最大值为 21600 秒(6 小时)。 |
putAll(values)
将一组键值对添加到缓存。
类似于对“put”的重复调用,但更高效,因为它只对 内存缓存服务器来设置所有值。键的最大长度为 250 个字符。最大 每个键可存储的数据量为 100KB。缓存中的这些值将于以下时间后过期: 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”的重复调用,但更高效,因为它只对 内存缓存服务器来设置所有值。键的最大长度为 250 个字符。最大 每个键可存储的数据量为 100KB。指定的有效期只是 建议;如果缓存了大量数据,系统可能会在此之前移除已缓存的数据。
缓存内容的上限为 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 秒,允许的最长到期时间为 21600 秒 (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[] | 要移除的键的数组 |