Перейти к содержанию

Кэширование

В скриптах есть возможность кэширования данных, получение которых может занимать время.

Данный функционал доступен начиная с октябрьской версии приложения.

Данные хранятся в кэше на сервере в течение определенного промежутка времени, по умолчанию 3600 секунд (1 час). Работа с кэшем доступна через поле context.utils.cache.

Запись данных в кэш:

TypeScript
1
2
3
4
5
6
7
8
// Создаем уникальный ключ для доступа к ячейке с данными
const key = 'uniqueKey';

// Получаем значение (например, из переменной бота)
let value = context.input.variables.valueToCache;

// Запись данных в кэш
await context.utils.cache.setValue(key, value);

Получение данных из кеша:

TypeScript
// Создаем уникальный ключ для доступа к ячейке с данными
const key = 'uniqueKey';

// Получаем значение из кэша
let value = await context.utils.cache.getValue(key);

// Проверяем наличие значения
if (value == null)
{
    // Получаем значение из сервиса
    value = 'value'; // TODO: Получить из сервиса.

    // Сохраняем значение в кэш
    await context.utils.cache.setValue('key', value); 
}

Изменение времени хранения данных:

TypeScript
1
2
3
4
5
// Настраиваем параметры кэширования
const options = { ttl: 3600 }; // ttl: 3600 секунд (1 час)

// Записываем значение с дополнительным параметром options
await context.utils.cache.setValue('key', value, options);