Установка Redis на Ubuntu 24.04 LTS
29 Jul 2026, 04:03:51
Redis - это популярная база данных Key-Value типа, отличающаяся высокой производительностью, которая хранит данные в оперативной памяти (In-Memory Database). Redis зарекомендовал себя в качестве:- продвинутой системы кэширования;
- брокера сообщений;
- менеджера очередей;
В этой статье мы рассмотрим установку актуальной версии Redis на Ubuntu 24.04 LTS из официального репозитория приложения. Разберём некоторые параметры конфигурационного файла redis, проверим работоспособность сервера и выполним базовые рекомендации по безопасности. Ubuntu 24.04 LTS поставляется с Redis 7.0.x в официальных репозиториях ОС, новые версии программы доступны через официальный репозиторий Redis, которым мы воспользуемся.
Установка Redis
Все команды в статье выполняются на выделенном сервере от компании Virterion.com от имени пользователя root. Если вы работаете под обычным пользователем, некоторые команды потребуют использования sudo.Добавляем GPG-ключ для проверки цифровой подписи пакета:
curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpgДобавляем сам репозиторий Redis:echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list
Обновляем список пакетов с помощью команды:
apt updateПосле чего устанавливаем сам Redis:apt install redisВместе с redis будет установлен пакет redis-tools, включающий в себя утилиты redis-cli, redis-benchmark и другие, которыми мы воспользуемся в дальнейшем.
Проверка работы Redis
Проверить статус сервера Redis можно с помощью команды:systemctl status redis-server.serviceПо умолчанию служба уже запущена и добавлена в автозагрузку.
Для перезагрузки сервера Redis воспользуйтесь стандартной командой systemd:
systemctl restart redis-server.serviceДля остановки:systemctl stop redis-server.serviceЧтобы просмотреть журнал службы можно воспользоваться командой journalctl:journalctl -u redis-serverПодключение к Redis из консоли
Воспользуемся утилитой redis-cli для подключения к Redis. Так как сейчас сервер Redis работает локально и на стандартном порту (6379), достаточно запустить программу без каких-либо параметров:redis-cliПосле чего введём команду проверки соединения:PINGТакже можно вывести информацию о сервере: узнать версию Redis и не только.INFO server
Для выхода из redis-cli воспользуйтесь командой:
exitУзнать версию сервера Redis можно не прибегая к использованию redis-cli, командой:redis-server --version
Конфигурационный файл Redis
Основной конфигурационный файл сервера Redis находится по пути: /etc/redis/redis.confОткрыть и изменить его можно с помощью команды:
nano /etc/redis/redis.confОсновные параметры конфигурации
| bind | IP адрес(а), который слушает redis-server (по умолчанию 127.0.0.1) |
| protected-mode | защищённый режим, при котором Redis не даст подключиться удалённым клиентам, если не будут настроены пароль или ACL (по умолчанию yes) |
| port | порт Redis (6379 по умолчанию) |
| tcp-backlog | размер очереди TCP-подключений |
| timeout | время простоя клиентского подключения, после которого соединение будет разорвано |
| loglevel | уровень детализации лога (от debug - самый подробный, до nothing - отключение лога) |
| databases | количество логических баз данных Redis |
| hide-user-data-from-log | скрывать данные о пользователе в логах Redis |
Ограничение используемой памяти
Параметр maxmemory в конфигурационном файле /etc/redis/redis.conf задаёт максимальный объём ОЗУ, используемый для хранения данных. По умолчанию он закомментирован и программа ограничена только свободной памятью системы, однако если вы совмещаете несколько сервисов на одном сервере и сервер имеет небольшой объём ОЗУ, есть смысл задать этот параметр. В первую очередь это необходимо сделать из-за того, что управление памятью самим Redis происходит "правильным" образом, без аварийных отключений, согласно заданной политике maxmemory-policy. Если Redis будет использовать всю доступную память системы, он может попасть под прицел OOM Killer и процесс программы будет аварийно завершён.Можно начать со значения, равного половине ОЗУ (это индивидуальное значение, зависит от конфигурации ПО сервера):
maxmemory 4gbПри установке параметра maxmemory, необходимо определить значение maxmemory-policy. Значение по умолчанию - noeviction, реализует возврат ошибки при попытке добавления новых данных и достижении указанного лимита памяти. Не самый удачный вариант. Два оптимальных варианта:- allkeys-lru - удаляет ключи, к которым дольше всего не было обращений (по времени);
- allkeys-lfu - удаляет ключи, которые использовались реже всего (по количеству запросов).
maxmemory-policy allkeys-lfuПосле изменения конфигурационного файла Redis, сервис необходимо перезагрузить:systemctl restart redis-server.serviceПросмотреть информацию об использовании памяти в Redis можно с помощью redis-cli:redis-cli INFO memoryВывод информации весьма объёмный. Нас интересует used_memory_human, used_memory_rss_human (объём выделенной процессу физической памяти) и used_memory_peak_human (максимальное потребление памяти с момента запуска сервиса). Там же можно увидеть актуальные значения maxmemory и maxmemory_policy.
Установка пароля для Redis
Для ограничения доступа по паролю к Redis необходимо добавить в конфигурационный файл /etc/redis/redis.conf параметр requirepass. Этот параметр остаётся рабочим и допустимым в случае частного использования, однако начиная с Redis 6 рекомендуется использовать механизм ACL, позволяющий создавать пользователей с различными правами доступа.requirepass YOUR_PASSWORD- YOUR_PASSWORD - пароль для Redis.
systemctl restart redis-server.serviceПроверить работу аутентификации можно с помощью команды:redis-cli PINGВ ответ будет выведена ошибка:
Для успешного подключения используйте параметр -a для redis-cli:
redis-cli -a YOUR_PASSWORD PING- YOUR_PASSWORD - пароль для Redis.

Использовать пароль в открытом виде - плохая практика. На это ругается и сама утилита redis-cli. Чтобы этого избежать, можно выполнить аутентификацию после запуска клиента.
Запускаем redis-cli:
redis-cliВыполняем аутентификацию:AUTH YOUR_PASSWORDПолучаем сообщение об успешном выполнении команды: