Что это
Redis - хранилище данных, которое часто ставят между приложением и более медленными операциями. Например, сохраняют результат разрешенного запроса ненадолго или передают задачу фоновому обработчику, чтобы пользователь не ждал ее выполнения в HTTP-запросе.
Кеш, очередь и память агента - разные сценарии. Redis предоставляет структуры данных, но обработчик задач, повторные попытки, защиту от дублей и правила хранения истории нужно проектировать отдельно. Обычный кеш не должен становиться единственным источником важных документов.
Здесь описан Redis Open Source, прежде всего базовые операции и временные ключи. Векторный поиск разобран в отдельной карточке Redis Vector Search. Redis Cloud и дополнительные продукты экосистемы имеют свои условия.
Ключевые параметры
- Категория: Инструменты разработчика
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Да
- Данные: Не известно
- Чувствительные данные: Только с настройками
Сильные стороны
- TTL позволяет задавать срок жизни временных ключей.
- Разные структуры данных подходят для счетчиков, списков и сообщений.
- Streams поддерживает группы потребителей и подтверждение обработки.
- Можно выбрать свое размещение и управлять доступом к серверу.
Ограничения
- Память, политика вытеснения и размер данных требуют контроля.
- Надежность хранения зависит от настроек RDB/AOF и резервного копирования.
- Очередь требует отдельного worker, обработки сбоев и защиты от повторного действия.
- Лицензия зависит от версии: нельзя автоматически считать Redis 8 BSD-проектом.
Как использовать
1. Подготовка. Установите Docker и выберите свободный локальный порт 6381. Используйте отдельный учебный контейнер, не рабочую базу. На Windows Docker должен работать с Linux-контейнерами.
2. Настройка. Запустите docker run -d --name ezgpt-redis-demo -p 127.0.0.1:6381:6379 redis:8. Затем выполните docker exec ezgpt-redis-demo redis-cli PING: ожидается PONG. Не публикуйте порт на всех сетевых интерфейсах.
3. Первый результат. Выполните docker exec ezgpt-redis-demo redis-cli SET demo:task ready EX 60, затем docker exec ezgpt-redis-demo redis-cli GET demo:task. Ожидаются OK и значение ready. Это временный статус, а не выполненная задача агента.
4. Проверка. Командой docker exec ezgpt-redis-demo redis-cli TTL demo:task проверьте оставшиеся секунды. После истечения срока GET должен вернуть отсутствие значения, TTL -2. Для рабочей системы отдельно проверьте восстановление, права и поведение при потере кеша; для очереди - подтверждения и повторную обработку.
Примеры сценариев
- Показать временный статус подготовки отчета.
- Снизить повторные запросы к разрешенному API.
- Передать задачу обработки отдельному worker.
Доступ и оплата
- Модель оплаты: Open-source
- Бесплатный тариф: Да
- Работа в РФ: Нужно проверять
- VPN: Не известно
- Русский интерфейс: Не известно
- Русский язык: Не известно
У Redis 8+ есть выбор AGPLv3, RSALv2 или SSPLv1; у более ранних версий условия отличаются. Бесплатное ПО не означает бесплатный сервер. Доступность Redis Cloud и его оплаты из России здесь не подтверждена.
Когда не подходит
- Запустить модель без отдельного приложения
- Гарантировать однократное выполнение задачи одним кешем
- Хранить важные данные без плана восстановления
Альтернативы
PostgreSQL и MySQL удобнее как основная база записей и отчетов. Redis Vector Search - другая возможность Redis для поиска по векторам, не замена обработчику очереди. Выбор зависит от требований к данным и восстановлению.