Установка и настройка хранилища Redis на виртуальном сервере Ubuntu 18.04

Что это такое?

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

Преимущества:

  • высокая скорость;
  • GitHub, Weibo, Pinterest, Snapchat, Craigslist, Digg, StackOverflow, Flickr выбрали это хранилище;
  • поддерживается практически всеми языками программирования, в том числе JavaScript, Java, Go, C, C++, C#, Python, Objective-C, PHP;
  • имеет открытый исходный код.

Установка и конфигурация Redis

Первоначальные требования: действия выполняются от имени пользователя с правами sudo.

Для успешной установки Redis выполните обновление локальной базы пакетов:

sudo apt update
sudo apt upgrade
Для загрузки и установки Redis выполните следующую команду:

sudo apt install redis-serverС помощью текстового редактора, например vi, откройте конфигурационный файл, который генерируется автоматически:

sudo vi /etc/redis/redis.confС помощью поиска найдите параметр supervised. Значение параметра указывает на систему инициализации, по умолчанию имеет значение no, необходимо заменить это значение на systemd:

supervised systemdПерезагрузите СУБД:

sudo systemctl restart redis.service

Проверка Redis

Для того, чтобы убедиться, что сервер работает, выполните следующую команду:

sudo systemctl status redisРезультат:

● redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor pre
   Active: active (running) since Thu 2018-10-11 14:31:06 MSK; 33min ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
  Process: 23557 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCC
  Process: 23561 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exi
 Main PID: 23581 (redis-server)
    Tasks: 4 (limit: 4915)
   CGroup: /system.slice/redis-server.service
           └─23581 /usr/bin/redis-server 127.0.0.1:6379

Oct 11 14:31:06 Ubuntu1804x64 systemd[1]: Starting Advanced key-value store...
Oct 11 14:31:06 Ubuntu1804x64 systemd[1]: redis-server.service: Can't open PID f
Oct 11 14:31:06 Ubuntu1804x64 systemd[1]: Started Advanced key-value store.

Чтобы проверить корректность работы Redis, подключитесь к серверу с помощью клиента командной строки:

redis-cliПроверьте соединение с помощью команды ping:

127.0.0.1:6379> ping
PONG
Результат PONG подтверждает, что соединение с сервером установлено. Затем убедитесь, что установка ключей Redis доступна:

127.0.0.1:6379> set test "1cloud"
OK
Теперь получите заданное значение, также после перезапуска сервера значение должно сохраниться:

127.0.0.1:6379> get test
1cloud
Для выхода из клиента используйте сочетание клавиш Ctrl+С или команду:

127.0.0.1:6379> exit

Установка пароля

Для увеличения безопасности хранилища рекомендуем установить пароль, для этого откройте файл конфигурации:

sudo vi /etc/redis/redis.confНайдите следующую строку:

# requirepass foobared

Раскомментируйте строку, удалив #, и измените значение параметра requirepass на безопасный пароль:

requirepass <пароль>Перезагрузите СУБД:

sudo systemctl restart redis.serviceДля подключения по паролю используйте ключ a:

redis-cli -a <пароль>

Удаленное подключение

Иногда бывает удобно выполнять удаленное подключение к Redis, для этого откройте файл конфигурации:

sudo vi /etc/redis/redis.confНайдите следующую строку:

# bind 127.0.0.1 ::1

Раскомментируйте и замените адрес, 0.0.0.0 – подключнию с любого IP, если указать конкретный IP, то сможете подключаться именно с него:

bind 0.0.0.0Перезагрузите СУБД:

sudo systemctl restart redis.serviceНе забудьте открыть порт, на котором запущен сервер, с помощью iptables, например:

iptables -A INPUT -p tcp --dport 6379 -j ACCEPTДля удаленного подключения используйте следующую команду:

redis-cli -h <ip-адрес> -p <порт>Например:

redis-cli -h 5.200.56.169 -p 6379