Курс: Продающий лендинг для вашего бизнеса Бесплатно
Создайте сайт с нуля за 40 минут и запустите продажи

Установка и настройка Redis

Обсудить

Redis

Redis (REmote DIctionary Server) - это нереляционная высокопроизводительная СУБД, сетевое хранилище данных типа «ключ - значение».

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

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

Redis может стать более чем полноценной заменой Memcached, дав возможность использовать репликацию, более длинные ключи и значения и многое другое.

Изначально установку Redis сервера рекомендуется проводить из репозиториев используемой операционной системы. Предполагается, что последующие команды будут выполняться от имени пользователя root или при использование sudo (если Вы авторизованы не от пользователя root, рекомендуем выполнить sudo su).

Установка на DEB дистрибутивы (Ubuntu/Debian)

Сначала выполним обновление пакетов:

# apt update

# apt upgrade

После чего непосредственно выполнив установку Redis сервера:

# apt install redis-server

После завершения установки проверим работу установленного сервиса:

$ redis-cli ping

В случае успешной установки в ответ придет текст - PONG, если сервис не установился или не запустился, на экран будет выведена ошибка, о невозможности подключится к сервису или отсутствии команды redis-cli.

Если Redis сервер установлен и запустился, то он будет ожидать подключение на локальном интерфейсе 127.0.0.1 (localhost), порт стандартный - 6379.

Установка на RHEL (CentOS/BitrixOS)

Процесс установки почти не отличается от установки на Debian дистрибутивы. Сначала обновляем пакеты:

# yum update

Выполняем установку Redis сервера:

# yum install redis -y

Запускаем сервис и добавляем его в автозагрузку:

# systemctl start redis

# systemctl enable redis

После чего проверим его работу:

$ redis-cli ping

В независимости от используемого дистрибутива Вы всегда можете установить последнюю версию Redis сервера, собрав её из исходных кодов по инструкции с официального сайта проекта Redis:

https://redis.io/topics/quickstart

Настройка Redis

Для Ubuntu и Debian основной конфигурационный файл Redis сервера Вы найдете по пути /etc/redis/redis.conf, в CentOS (а также BitrixOS) конфигурация располагается в файле /etc/redis.conf.

Наиболее интересным будет параметр maxmemory, он задает ограничение использования оперативной памяти для хранения данных в Redis. По умолчанию Redis может использовать всю доступную память сервера, поэтому если сервер не обладает достаточным количеством постоянно свободной памяти (Вы можете просмотреть информацию о используемой памяти командой free -m), то стоит задать этот параметр. Самым простым решением для выбора максимального объема памяти будет разделить среднее значение нескольких показаний свободной памяти (free -m) пополам.

Например, в течение часа показатели free -m были следующими:

              total         used         free         shared   buff/cache   available

Mem:           7170        4616         204         420        2348            2047


              total         used         free         shared   buff/cache   available

Mem:           7170        4628         188         422        2352            2034


              total         used         free         shared  buff/cache   available

Mem:           7170        4645         169         422        2354           2016

Средним показателем для свободной памяти (столбец free) будет 187 ((204+188+169)/3=187), поэтому ограничим maxmemory в 180 Мб. Для этого откроем файл redis.conf, найдем строку “# maxmemory <bytes>”: и заменим её указав нужное значение:

maxmemory 180mb

Также в данном файле стоит обратить внимание на следующие параметры:

  • maxclients - количество разрешенных клиентов;
  • tcp-backlog - количество соединений которые могут находится в очереди, если все возможные соединения заняты;
  • save - условия, при которых данные будут записываться на диск. Данные Redis хранятся в оперативной памяти и в зависимости от значений save сохраняются на диск, что замедляет производительность, но повышает надежность хранения данных. Условию save передается два значение: количество секунд и количество изменений, если за указанное количество происходит указанное количество изменений, то данные будут сохранены на диск. По умолчанию параметры выглядят так:

save 900 1 - сохранить, если за 900 секунд будет хотя бы одно изменение;

save 300 10 - сохранить, если за 300 секунд будет хотя бы 10 изменений;

save 60 10000 - сохранить, если за 60 секунд будет 10000 и более изменений.

Вы можете редактировать текущие правила или удалять их. Вы можете просто закомментировать их (поставить в начале строки #), в этом случае будет достигнута максимальная производительность, т. к. данные не будут записываться на диск, но в случае перезагрузки сервера или Redis все данные будут утеряны.

После внесения каких-либо изменений в конфигурационный файл Redis необходимо перезапустить.

Для Debian/Ubuntu:

service redis-server restart

Для CentOS/BitrixOS:

systemctl restart redis

Заключение

Теперь Вы знаете, как правильно устанавливать и настраивать Redis. Больше информации о конфигурации Redis сервера Вы можете получить из его документации:

https://redis.io/topics/config

Установить Redis можно на любом из тарифов VDS EVO: https://timeweb.com/ru/services/vds

Купите сервер на Таймвэб

Комментарии

С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте