Интеграция с Redis: запись, чтение и срок жизни ключей без кода

Интеграция с Redis в nana800 записывает, читает, удаляет и ищет ключи в вашем Redis прямо из схемы, без кода. Ключ - это ячейка с именем и значением, так схема запоминает шаг диалога с клиентом, не обрабатывает заказ дважды и хранит временные коды нужный срок. Каждая операция стоит 0,10 ₽, а баланс каждый месяц бесплатно пополняется до 350 ₽.

Собрать в конструкторе
  • Запуск блока: 0,10 ₽
  • Бесплатно каждый месяц: 350 ₽
  • Карта не нужна

Что можно сделать

  • Запоминать данные между запусками схемы: шаг диалога бота, последний заказ клиента, настройки
  • Не обрабатывать одно и то же дважды: проверить, есть ли ключ с номером заказа, и только потом выполнять действия
  • Хранить временные данные со сроком жизни в секундах, например код подтверждения на 10 минут или ответ сервиса на час
  • Узнавать, сколько секунд осталось жить ключу, и продлевать срок
  • Находить ключи по шаблону, например все ключи user:*, до 10 000 за запуск, не замедляя сервер
  • Работать с Upstash, Redis Cloud, облачным Redis в Яндексе и Timeweb или со своим сервером, с шифрованием TLS или без него

Блоки в конструкторе

  • Запрос к Redis

    Действие · 0,10 ₽ за запуск

    Одно из семи действий на выбор: get читает значение, set записывает его со сроком жизни, delete удаляет ключ, exists проверяет его наличие, expire задаёт срок, ttl показывает остаток, keys ищет ключи по шаблону.

Как настроить

  1. 1

    Подготовьте сервер Redis

    Возьмите в панели вашего Redis адрес, порт и пароль. Подойдёт облачный Redis или свой сервер, если он доступен из интернета: сервер на вашем компьютере (localhost) или во внутренней сети не подойдёт. Имя пользователя нужно, только если на сервере заведены отдельные пользователи (ACL).

  2. 2

    Создайте схему и добавьте триггер

    В конструкторе создайте схему и поставьте триггер, который принесёт данные: «webhook» для заявок с сайта, сообщение боту в Telegram или запуск по расписанию. Для первой проверки хватит триггера «button», он запускает схему вручную.

  3. 3

    Подключите блок Redis

    Добавьте блок «Redis». Вставьте адрес сервера, можно целиком вида rediss://адрес:6380, тогда порт и шифрование возьмутся из него. Впишите пароль. В поле «Шифрование (TLS)» для Upstash, Redis Cloud и Яндекса выберите enabled.

  4. 4

    Выберите действие и ключ

    Выберите действие, например set, и задайте ключ: обычно это текст с номером заказа или чата из триггера, например order_ и номер. Для set впишите значение и срок жизни в секундах: 3600 - час, 86400 - сутки, 0 - хранить бессрочно.

  5. 5

    Включите и проверьте схему

    Включите схему, нажмите кнопку в триггере «button» и откройте результат блока: при get значение лежит в result_value, при exists ответ в exists, а при ошибке в error_message будет ответ Redis. Когда всё работает, оставьте схему включённой. Пока она включена, она стоит 0,42 ₽ в час.

Частые вопросы

Каждое действие с Redis стоит 0,10 ₽. Включённая схема стоит 0,42 ₽ в час. Баланс каждый месяц бесплатно пополняется до 350 ₽, карта не нужна. Если схема включена круглосуточно весь месяц, большая часть этой суммы уходит на часы работы схемы.

Нет, блок работает с вашим Redis: облачным (Upstash, Redis Cloud, Яндекс, Timeweb) или своим сервером. Главное, чтобы он был доступен из интернета: localhost и адреса внутри закрытой сети блок не принимает.

Поставьте блок Redis с действием exists и ключом с номером заказа. Затем блок «condition» пускает схему дальше, только если ключа нет. В конце запишите этот ключ действием set со сроком жизни, например 86400 секунд, и повтор в течение суток уже не пройдёт.

Пустую строку в result_value, ошибки при этом не будет. Чтобы точно проверить наличие ключа, используйте действие exists. Действие ttl вернёт -1, если ключ хранится бессрочно, и -2, если ключа нет.

Блок работает со строковыми значениями: записать, прочитать, удалить ключ, проверить его и управлять сроком жизни. В значение можно положить текст, число или JSON. Списков, хешей, счётчиков и очередей в блоке нет.

Redis не принял пароль или имя пользователя. Проверьте пароль, а имя пользователя оставьте пустым, если на сервере нет отдельных пользователей: имя default работает так же, как вход только по паролю.

Соберите первую схему бесплатно

Регистрация бесплатная, карта не нужна. Каждый месяц баланс бесплатно пополняется до 350 ₽, этого хватает примерно на 3 500 запусков простых блоков.

Собрать в конструкторе