Ссылка на конкретный кэш.
Этот класс позволяет вставлять, извлекать и удалять элементы из кэша. Это может быть особенно полезно, если вам нужен частый доступ к дорогому или медленному ресурсу. Например, предположим, что у вас есть 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');
Параметры
Имя | Тип | Описание |
---|---|---|
key | String | ключ для поиска в кеше |
Возвращаться
String
— кэшированное значение или ноль, если ничего не найдено.
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'}
Параметры
Имя | Тип | Описание |
---|---|---|
keys | String[] | ключи для поиска |
Возвращаться
Object
— объект JavaScript, содержащий пары ключ/значение для всех ключей, найденных в кеше.
См. также
put(key, value)
Добавляет пару ключ/значение в кеш.
Максимальная длина ключа — 250 символов. Максимальный объем данных, который может храниться на ключе, составляет 100 КБ. Срок действия значения истекает из кэша через 600 секунд (10 минут).
Максимальное количество кэшированных элементов — 1000. Если записано более 1000 элементов, в кэше сохраняются 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 КБ. Указанный срок действия является лишь рекомендацией; кэшированные данные могут быть удалены до этого времени, если кэшируется большой объем данных.
Максимальное количество кэшированных элементов — 1000. Если записано более 1000 элементов, в кэше сохраняются 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 | значение, которое нужно кэшировать |
expirationInSeconds | Integer | максимальное время, в течение которого значение остается в кеше, в секундах. Минимальное значение — 1 секунда, максимальное — 21600 секунд (6 часов). |
putAll(values)
Добавляет в кеш набор пар ключ/значение.
Аналогично повторяющимся вызовам «put», но более эффективно, поскольку для установки всех значений выполняется только один вызов сервера memcache. Максимальная длина ключа — 250 символов. Максимальный объем данных, который может храниться на ключе, составляет 100 КБ. Значения исчезнут из кэша через 600 секунд (10 минут).
Максимальное количество кэшированных элементов — 1000. Если записано более 1000 элементов, в кэше сохраняются 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, содержащий строковые ключи и значения |
См. также
putAll(values, expirationInSeconds)
Добавляет в кеш набор пар ключ/значение со сроком действия (в секундах).
Аналогично повторяющимся вызовам «put», но более эффективно, поскольку для установки всех значений выполняется только один вызов сервера memcache. Максимальная длина ключа — 250 символов. Максимальный объем данных, который может храниться на ключе, составляет 100 КБ. Указанный срок действия является лишь рекомендацией; кэшированные данные могут быть удалены до этого времени, если кэшируется большой объем данных.
Максимальное количество кэшированных элементов — 1000. Если записано более 1000 элементов, в кэше сохраняются 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, содержащий строковые ключи и значения. |
expirationInSeconds | Integer | Максимальное время, в течение которого значение остается в кеше, в секундах. Минимально допустимый срок действия — 1 секунда, а максимально допустимый срок действия — 21600 секунд (6 часов). Срок действия по умолчанию составляет 600 секунд (10 минут). |
См. также
remove(key)
Удаляет запись из кеша, используя данный ключ.
// Removes any cache entries for 'foo' CacheService.getUserCache().remove('foo');
Параметры
Имя | Тип | Описание |
---|---|---|
key | String | ключ для удаления из кеша |
removeAll(keys)
Удаляет набор записей из кэша.
// Removes entries from the cache with keys 'foo' and 'x' CacheService.getDocumentCache().removeAll(['foo', 'x']);
Параметры
Имя | Тип | Описание |
---|---|---|
keys | String[] | массив ключей для удаления |