Хранилище проекта (projectStorage)
projectStorage — это инструмент для хранения временных данных на уровне всего проекта. Он идеально подходит для кеширования данных, временных токенов авторизации и другой информации, которая должна быть доступна из любого сниппета для всех пользователей вашего проекта.
Данные, сохраненные в projectStorage, являются общими для всего проекта, что позволяет разным сниппетам и разным пользователям обмениваться информацией.
Основные методы
projectStorage.set(key, value, ttl): Сохраняетvalueпод именемkeyнаttlсекунд.ttl(time-to-live) — это время жизни записи в секундах.projectStorage.get(key): Возвращает значение по ключуkey. Если ключ не найден или время жизни истекло, вернетnull.projectStorage.keys(): Возвращает массив всех существующих (не истекших) ключей.projectStorage.delete(key): Удаляет пару ключ-значение по указанному ключу.
Ограничения
Не более 100 ключей на проект
key - до 1000 символов
value - до 10000 символов
ttl - в секундах, максимум 3600 * 24 * 100 (100 дней)
Примеры использования
Пример 1: Кеширование токена авторизации
В этом примере мы сохраняем токен, получаем список всех ключей, читаем данные и затем удаляем их.
Пример 2: Отправка уведомлений с контролем частоты
С помощью projectStorage можно гарантировать, что критически важное уведомление (например, в Telegram или внешнюю систему аналитики) будет отправлено не чаще, чем один раз в заданный промежуток времени. Это полезно, чтобы избежать спама при частом срабатывании одного и того же сценария.
В этом примере сниппет отправляет уведомление в Telegram, только если с момента последней отправки прошел как минимум один час.
Последнее обновление