Как установить и настроить сервер Redis в Ubuntu
Redis — это хранилище структур данных в памяти с открытым исходным кодом, используемое в качестве базы данных, кэша, брокера сообщений и механизма потоковой передачи. Redis — это аббревиатура, обозначающая REmote DIctionary Servererver. Он похож на memcached, но набор данных не является изменчивым, а другие типы данных (например, списки и наборы) поддерживаются изначально. Redis поставляется с redis-cli, который обеспечивает простой интерфейс командной строки для сервера Redis. В этом руководстве описаны шаги по установке и настройке сервера Redis в Ubuntu. Я тестировал это руководство на сервере Ubuntu 18.04 LTS, однако оно может работать и на других дистрибутивах на базе Ubuntu/Debian.
Предварительные условия
Чтобы Redis работал эффективно, вам необходимо настроить сервер Ubuntu со следующими настройками.
1. Сначала установите для параметра ядра Linux избыточное выделение памяти значение 1. Для этого добавьте vm.overcommit_memory=1
в /etc/sysctl.conf
. Затем перезагрузите компьютер или выполните команду sysctl vm.overcommit_memory=1
, чтобы активировать настройку. Установка для overcommit_memory
значения 1
говорит Linux расслабиться и выполнить ветвление более оптимистичным образом, и это действительно то, что вы хотите для Redis.
2. Затем убедитесь, что функция ядра Linux Прозрачные огромные страницы не влияет на использование памяти Redis и задержку. Для этого выполните следующую команду:
echo never > sudo tee -a /sys/kernel/mm/transparent_hugepage/enabled
3. Убедитесь, что подкачка включена и что размер файла подкачки равен объему памяти в вашей системе. Если в вашей системе Linux не настроен раздел подкачки и ваш экземпляр Redis случайно потребляет слишком много памяти, Redis может аварийно завершить работу из-за нехватки памяти, или убийца OOM ядра Linux может убить процесс Redis. Когда переключение включено, вы можете обнаруживать пики задержки и реагировать на них.
Установите сервер Redis в Ubuntu
Redis Server доступен в репозиториях Ubuntu по умолчанию. Итак, вы можете установить его с помощью менеджера пакетов apt-get.
Запустите следующую команду, чтобы установить Redis Server в вашей системе Ubuntu:
sudo apt-get install redis-server
После установки проверьте, запущена ли служба Redis Server, с помощью команды:
sudo systemctl status redis-server
Пример вывода будет:
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-06-02 12:40:26 IST; 6s ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 2623 (redis-server)
Tasks: 4 (limit: 2322)
CGroup: /system.slice/redis-server.service
└─2623 /usr/bin/redis-server 127.0.0.1:6379
Jun 02 12:40:26 ubuntuserver systemd[1]: Starting Advanced key-value store...
Jun 02 12:40:26 ubuntuserver systemd[1]: redis-server.service: Can't open PID file /var/run/red
Jun 02 12:40:26 ubuntuserver systemd[1]: Started Advanced key-value store.
На всякий случай, если он еще не запущен, вы можете запустить его, как показано ниже.
sudo systemctl enable redis-server
sudo systemctl start redis-server
Чтобы проверить установленную версию Redis Server, просто запустите:
redis-server -v
Пример вывода:
Redis server v=4.0.9 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=1bc80a08306a3efd
Настройка сервера Redis
Файл конфигурации Redis по умолчанию — /etc/redis/redis.conf. По умолчанию Redis прослушивает соединения со всех сетевых интерфейсов, доступных на сервере. Также возможно заставить его прослушивать только один или несколько интерфейсов, используя директиву конфигурации «bind», за которой следует один или несколько IP-адресов.
Чтобы сервер Redis прослушивал определенный IP-адрес, отредактируйте файл /etc/redis/redis.conf :
sudo vi /etc/redis/redis.conf
Найдите следующую строку:
bind 127.0.0.1
Измените его, как показано ниже.
bind 192.168.43.2
Чтобы заставить его прослушивать несколько IP-адресов, измените его, как показано ниже.
bind 192.168.43.2 192.168.43.3
Замените IP-адреса своими значениями. Затем сохраните и закройте файл.
Если вы используете Брандмауэр UFW, вам необходимо разрешить порт 6379. Для этого запустите:
sudo ufw allow 6379/tcp
sudo ufw reload
Перезапустите службу Redis, чтобы применить изменения.
sudo systemctl restart redis-server
Настройка Redis в качестве кеша
Если вы хотите использовать Redis в качестве кеша, где для каждого ключа будет установлен срок действия, вы можете использовать следующий пример конфигурации (при условии, что максимальный лимит памяти составляет 2 мегабайта в качестве примера):
maxmemory 2mb
maxmemory-policy allkeys-lru
В этой конфигурации приложению не требуется устанавливать время жизни ключей с помощью команды EXPIRE
(или ее эквивалента), поскольку все ключи будут удалены с использованием приближенного алгоритма LRU, пока мы достигните предела памяти в 2 мегабайта.
Перезапустите службу Redis, чтобы изменения вступили в силу.
sudo systemctl restart redis-server
Тестовый сервер Redis
Подключитесь к серверу Redis, используя redis-cli из командной строки.
redis-cli
Теперь вы подключены к своему серверу Redis.
127.0.0.1:6379>
Отсюда вы можете запускать команды Redis, чтобы проверить его функциональность. Давайте посмотрим простой пример.
127.0.0.1:6379> set test "Welcome To OSTechNix"
OK
127.0.0.1:6379> get test
"Welcome To OSTechNix"
127.0.0.1:6379>
Чтобы выйти из командной строки Redis, введите exit.
127.0.0.1:6379> exit
Чтобы узнать больше об использовании Redis, посетите его официальную страницу документации.
Заключение
В этом руководстве мы обсудили, что такое сервер Redis, как установить и настроить сервер Redis в Ubuntu Linux. Мы также обсудили, как настроить Redis в качестве кеша, и, наконец, показали вам, как проверить, работает ли сервер Redis должным образом.
Ресурс:
- Веб-сайт Redis