Содержание:
В данной статье расскажем, что такое Redis, для чего оно нужно, как его установить и настроить на VPS. Данная статья предполагает наличчие у вас уже арендованного виртуального сервера.

Арендуйте VPS
Если Вы в поисках хорошего виртуального сервера, то смотрите подборку лучших VPS для проекта.
ПерейтиЧто такое REDIS?
Redis (Remote Dictionary Server, «удалённый серверный словарь») — это нереляционная СУБД, работающая в оперативной памяти и хранящая данные в формате пар «ключ-значение».
Данный тип СУБД применяют в основном когда нужна высокая производительность, обеспечиваемая благодаря хранению данных в оперативной памяти сервера, что в свою очередь значительно уменьшает время на выполнение операций
В данном примере, настройка и установка производится на VPS с установленной ОС Ubuntu-24.04
Установка REDIS на VPS
Для начала вводим команду:
apt install redis-serverНеобходимо далее произвести изменения в конфигурационном файле REDIS
Рекомендуем производить изменения через утилиту NANO
Если у Вас не установлена данная утилита то это можно сделать командой:
apt install nanoПосле установки откроем конфигурационный файл
nano /etc/redis/redis.confОткрыв файл нажимаем сочетание клавиш ctrl+W для поиска и вставляем
supervisedНаходим директиву и при необходимости раскомментируем данную директиву и меняем на следующую
supervised systemd* Эта настройка позволит запустить Redis в качестве службы. Согласно официальной документации, это даст нам больше возможностей для управления базой данных.

Сохранить изменения в файле можно сочетанием ctrl+O и затем закрыть документ ctrl+X
Добавим REDIS в автозапуск сервера
systemctl enable redis-serverДля применения внесенных изменений необходимо перезапустить сам REDIS
systemctl restart redis-serverПроверим статус службы
systemctl status redis-serverЕсли Вы выполнили все правильно, то вывод будет похож как на скриншоте ниже

Для полного понимания можно посмотреть версию REDIS на сервере
redis-server --version
Для проверки подключения локально к redis серверу выполним команду:
redis-cliВы увидите 127.0.0.1:6379>
далее выполним команду ping и в ответе будет PONG

В качестве примера
test_key — это пример ключа, который может использоваться в базе данных Redis для хранения значений.
Вводим:
set test_key "testing message"и затем для вывода значения можно использовать
get test_keyОтветом получим "testing message"

Для получения списка всех созданных ключей можно ввести keys*
После завершения работы просто вводим quit
Настройка REDIS на VPS/VDS
Перед тем как открыть доступ к REDIS зададим пароль
Откроем конфигурационный файл
Открыв файл нажимаем сочетание клавиш ctrl+W для поиска и вставляем
requirepass foobared
Раскомментируем значение и установим пароль redistestserver1
Сохранить изменения в файле можно сочетанием ctrl+O и затем закрыть документ ctrl+X
Для применения внесенных изменений необходимо перезапустить сам REDIS
systemctl restart redis-serverДалее откроем доступ REDIS к сети
Для этого открываем конфигурационный файл REDIS
nano /etc/redis/redis.confОткрыв файл нажимаем сочетание клавиш ctrl+W для поиска и вставляем bind 127.0.0.1 -::1
Находим данный параметр и добавляем в него IP Вашего сервера
Должно получиться
bind 127.0.0.1 -::1 **.***.**.***Где * это IP Вашего сервера

Сохранить изменения в файле можно сочетанием ctrl+O и затем закрыть документ ctrl+X
Для применения внесенных изменений необходимо перезапустить сам REDIS
systemctl restart redis-serverДля подключения из вне на устройстве необходимо сначала установить redis-tools, установка производится командой
apt-get install redis-toolsподключиться к redis на сервере можно командой далее
redis-cli -h **.***.**.***Где * это IP Вашего сервера
Далее можем авторизоваться
redis-cliВводим auth redistestserver1, где redistestserver1 ранее заданный пароль
После авторизации получаем сообщение ОК

В таблице ниже приведены примеры хранимых типов данных REDIS
|
Типы поддерживаемых данных |
Примеры |
|
Строка (String) |
One two three |
|
Битовый массив (Bitmap) |
1100110011010011 |
|
Битовое поле (Bitfield) |
{22222} {33333} {4131} |
|
Хеш-таблица (Hash) |
{a: «one», b «two»} |
|
Список (List) |
[A>B>C>D] |
|
Множество (Set) |
{A<B<C<D} |
|
Упорядоченное множество (Sorted set) |
{A:1, B:2, C:3} |
|
Геопространственные данные (Geospatial) |
{A: (50,1 0,5)} |
|
Структура HyperLogLog (HyperLogLog) |
11111111 11111111 11111111 11111111 |
|
Поток (Stream) |
{id1=time1.seq ((a: «one», a: «two»))} |
Подключение REDIS для хранения сессий PHP
Сначала необходимо вызвать phpinfo для того чтобы проверить местоположение хранения сессий
В каталоге сайта нужно создать файл с расширением .php , в качестве примера phpinfo.php (название файла не важно, главное расширение .php)
В данный файл вставляем код:
<?php
// Показывать всю информацию, по умолчанию INFO_ALL
phpinfo();
// Показывать информацию только о загруженных модулях.
// phpinfo(8) выдаёт тот же результат.
phpinfo(INFO_MODULES);
?>Сохраняем файл и обращаемся в браузере к Вашему сайту https://www.имя_вашего_сайта.ru/ phpinfo.php
Для ускорения поиска в браузере можно нажать F3 и ввести с поиске session.save_
В данном примере каталог хранения сессий
/var/www/fastuser/data/tmp
Добавим следующий код в .htaccess
php_value session.save_handler "redis"
php_value session.save_path "tcp://127.0.0.1:6379"После активации для проверки откроем еще раз
https://www.имя_вашего_сайта.ru/ phpinfo.php
session.save_handler изменился с files на redis
Подключение REDIS для кэширования в WORDPRESS
Для активации сначала необходимо добавить директивы в конфигурационный файл wordpress (wp-config.php) который находится в директории вашего сайта wordpress
Открываем данный файл и добавляем 2 директивы в самом начале перед другими диреткивами:
define('WP_CACHE_KEY_SALT', 'redistest_');define('WP_CACHE', true);redistest_ в качестве данного параметра может быть указан префикс или для удобства название сайта.

Далее переходим в админ панель сайта WORDPRESS и в поиске найдем плагин redis, устанавливаем/активируем

Если ранее задавался пароль для redis то при активации появится ошибка
Redis недоступен: `SELECT` failed: NOAUTH Authentication required. [tcp://127.0.0.1:6379]
Лечение производится через правку конфигурационного файла redis
Переходим в конфигурационный файл
nano /etc/redis/redis.confИщем строку с параметром requirepass
И затем комментируем строку с паролем, поставив в начале строки #. Сохраняем и закрываем файл.

После чего перезапускаем службу
systemctl restart redis-serverПереходим обратно в админ панель и настройки плагина

Активируем плагин:

Готово!
Предыдущая статья:
Установка PostgreSQL на VPS UbuntuСледующая статья:
Оптимизация настроек MySQL с помощью Mysqltuner
Комментарии ()