Как установить Redis и понять, для чего он нужен
За 15–20 минут вы запустите Redis локально в Docker, проверите соединение и увидите, чем он отличается от обычной базы данных. Разберём, какие задачи ему подходят, а где хранить данные лучше в другом месте.

Что получится и что подготовить
В конце у вас будет локальный Redis 7.4, доступный только с вашего компьютера, и команда для проверки, что сервер отвечает. На установку и проверку уйдёт примерно 15–20 минут, если Docker уже установлен.
Понадобятся Docker Engine с Docker Compose либо Docker Desktop и терминал. Проверьте, что Docker запущен: команда docker --version должна вывести версию. Проверьте Compose командой docker compose version. Примеры ниже рассчитаны на Redis 7.4 и актуальный синтаксис Compose; они не предназначены для настройки публичного сервера.
Зачем нужен Redis
Redis — сервер для хранения структур данных в памяти. Приложение обращается к нему по сети и получает значение быстрее, чем при чтении с диска, но скорость — не единственная причина его использовать. Redis умеет работать со строками, списками, множествами, хешами и другими структурами, а для ключей можно задавать время жизни.
Типичный сценарий — кеш: приложение сохраняет результат дорогого запроса на короткое время, чтобы не пересчитывать его при каждом обращении. Также Redis используют для временных данных, счётчиков и очередей. Но кеш должен быть допустимо потерять: если в нём единственная копия важных пользовательских данных, сбой или очистка хранилища превратятся в потерю данных.
Redis — не «ускоритель базы данных» сам по себе. Он помогает, когда вы заранее решили, какие данные можно хранить отдельно, как долго они живут и что произойдёт при их потере.
TTL — время жизни ключа: срок, после которого Redis удалит значение автоматически. Например, кешированную страницу можно хранить несколько минут, а временный код подтверждения — меньше, если этого требует логика приложения.
Установка Redis через Docker
Создайте пустую папку, откройте в ней терминал и сохраните следующий файл как compose.yaml. Порт привязан к локальному адресу, поэтому Redis не будет открыт для других устройств в сети.
services:
redis:
image: redis:7.4-alpine
ports:
- "127.0.0.1:6379:6379"
volumes:
- redis-data:/data
command: ["redis-server", "--appendonly", "yes"]
volumes:
redis-data:Здесь задан образ Redis ветки 7.4, порт для подключения с компьютера и именованный том для файлов данных. Параметр appendonly включает журналирование изменений на диск; это не заменяет резервные копии и не делает Redis полноценной заменой основной базе данных.
Запустите контейнер. В папке с файлом выполните
docker compose up -d. Docker скачает образ и запустит сервис. Проверка: командаdocker compose psпоказывает сервисredisв состоянииUp.Проверьте ответ сервера. Выполните
docker compose exec redis redis-cli ping. Проверка: в терминале появляетсяPONG. Это подтверждает, что Redis отвечает внутри контейнера.Запишите и прочитайте значение. Выполните
docker compose exec redis redis-cli SET demo:message "Redis is running", затемdocker compose exec redis redis-cli GET demo:message. Проверка: первая команда отвечаетOK, вторая выводитRedis is running.Проверьте время жизни ключа. Выполните
docker compose exec redis redis-cli SET demo:temporary value EX 60, затемdocker compose exec redis redis-cli TTL demo:temporary. Проверка: вторая команда возвращает число примерно от 1 до 60. Оно уменьшается; после истечения срока ключ исчезнет.Остановите сервис, когда закончите. Команда
docker compose downостанавливает и удаляет контейнер, но оставляет том с данными. Чтобы удалить также том и его содержимое, выполнитеdocker compose down -v. Проверка: после обычногоdownкомандаdocker compose psне показывает запущенный контейнер.
Когда Redis подходит, а когда нет
Перед подключением Redis к приложению решите, что именно вы туда кладёте и что приложение сделает при недоступности Redis. Для кеша ответ обычно такой: повторно получить данные из основной базы. Для очереди или сессии последствия могут быть серьёзнее — нужна отдельная схема восстановления.
| Задача | Redis подходит, если | Что проверить заранее |
|---|---|---|
| Кеш результатов | Значение можно пересчитать или заново прочитать из основной базы | Как часто обновлять кеш и как предотвращать устаревшие данные |
| Счётчик или временная метка | Нужен быстрый доступ к небольшому изменяемому значению | Что произойдёт при перезапуске и как согласовать счётчик с основной системой |
| Очередь задач | Приложению нужна передача фоновых задач между компонентами | Повторная доставка, обработка ошибок и подтверждение выполнения |
| Основное хранилище | Только если вы отдельно спроектировали сохранность, резервирование и восстановление | Резервные копии, восстановление после сбоя и поведение при нехватке памяти |
Не храните секреты в открытом тестовом экземпляре и не публикуйте порт Redis в интернет. В примере нет пароля намеренно: он рассчитан только на локальный запуск. Для сервера нужны сетевые ограничения, аутентификация и настройки безопасности из официальной документации.
Если не получилось
Cannot connect to the Docker daemon. Docker не запущен или текущему пользователю недоступен Docker Engine. Запустите Docker Desktop либо службу Docker и повторите команду.port is already allocated. Порт 6379 уже занят другим процессом или контейнером. Остановите конфликтующий сервис либо поменяйте левую часть привязки порта, например на127.0.0.1:6380:6379; тогда клиент с хоста должен подключаться к 6380.No such service: redis. Команда запущена не в папке сcompose.yamlлибо в файле сервис назван иначе. Перейдите в нужную папку и проверьте имя сервиса.Could not connect to Redis. Контейнер может ещё запускаться или завершиться с ошибкой. Посмотритеdocker compose psиdocker compose logs redis, затем проверьте, что Docker скачал образ и порт не занят.После удаления контейнера данные пропали. Если вы выполнили
docker compose down -v, том тоже удалён. Для локальных экспериментов это ожидаемо; важные данные перед такой командой нужно сохранить отдельно.
Что сделать дальше
Следующий шаг — подключить Redis из вашего приложения и использовать его для одной конкретной задачи, например кешировать результат повторяющегося чтения. Определите ключ, срок жизни, способ обновления и поведение приложения при недоступности Redis. В рабочей среде следите за использованием памяти, количеством ошибок соединения и долей обращений, которым кеш помог; значения и доступные метрики зависят от конфигурации и способа развёртывания.
Если нужен Redis не для локального эксперимента, а для сервера, отдельно изучите настройки безопасности, сохранения данных и резервного копирования для выбранной версии. Инвалидация кеша и настройка очередей — отдельные задачи, здесь мы рассматриваем только установку и базовую проверку.
Задачи: математика, физика, химия: Разбор задачи по шагам с проверкой и похожей задачей
Спросить за 10 ₽Источники: Redis Documentation: Install Redis, Docker Docs: Docker Compose overview
Частые вопросы
Redis — это база данных или кеш?
Можно ли хранить в Redis единственную копию важных данных?
Нужно ли устанавливать Redis прямо на компьютер?
Почему после перезапуска контейнера данные иногда остаются?
Безопасно ли открыть порт Redis в интернет?
Что делать, если команда не работает с другой версией Docker?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.