Рассмотрим как выполняется установка Redis на Ubuntu сервер. Redis — одно из самых популярных кэширующих хранилищ данных по типу 'ключ — значение'.
Как и Memcached Redis не гарантирует сохранность данных и применяется в нагруженных проектах когда нужно быстро отдавать самую востребованную информацию из кэша в оперативной памяти.
Установка Redis Ubuntu
Устанавливаем из репозитория необходимые пакеты. В Debian, Ubuntu и других популярных дистрибутивах Redis есть в стандартных репозиториях.
Имена пакетов могут немного отличаться в зависимости от дистрибутива и версии php. Например, пакет может называться не php-dev, а php7-dev или php7.2-dev
apt-get install redis-server php-dev php-cli php-pear
Сам кэширующий сервер называется redis-server.
Его в Ubuntu достаточно установить, он запустится автоматически. На всякий случай можно проверить статус
systemctl status redis-server
И добавить сервис в автозагрузку.
systemctl enable redis-server
Если он уже добавлен последняя команда не вернет никакого сообщения.
Расширение PHP для работы с Redis
Кроме redis-server нужен интерфейс для работы с ним для языка программирования, на котором написано приложение.
Для веб это обычно язык PHP, значит нужно расширение php для работы с redis-server.
Для некоторых версий php есть пакеты в репозитории. В таких случаях можно выполнить установку командой apt install php-redis. Также стоит проверить другие доступные в репозитории пакеты apt search redis | grep php, нужны может называться иначе. Например, php7.2-redis.
В случае когда в репозитории пакета нет — его нужно устанавливать из исходных кодов с помощью менеджера расширений PECL.
Здесь потребуется пакет php-pear .
php-pear содержит PECL, который позволит скомпилировать расширение PhpRedis. Компиляция запускается такой командой:
pecl install redis
Когда процесс завершится полученное расширение (.so файл) нужно подключить в используемую сборку php.
echo 'extension=redis.so' > /etc/php7/mods-available/redis.ini
Полный путь к файлу redis.ini в реальной системе может быть другим. Полный путь к php.ini или подключаемым в нем файлам для redis (redis.ini) можно найти в выводе скрипта phpinfo, о нём ниже.
Перезапускаем веб-сервер
systemctl restart apache2
Проверка Redis и PHP Redis
Проверяем базовую работоспособность Redis сервера
redis-cli ping
В ответ ожидаем PONG, если получаем его — все работает в порядке.
Также проверяем нормально ли скомпилировалось и подключилось расширение PhpRedis
php -m | grep phpredis
В выводе должна быть строка redis.
Также нужна проверка с помощью скрипта phpinfo на случай если набор расширений для php cli другой. Из консоли шагом ранее выполнена проверка для php cli.
Про проверку используемых расширений с помощью скрипта phpinfo можно почитать в этом материале. В выводе скрипта должен быть отдельный блок 'Redis'. Его наличие будет означать что PHP скрипты смогут использовать расширение.
Пример того как выглядит подключенное расширение Redis PHP приведен на скриншоте:
Переходим в командную строку Redis
redis-cli
Далее можно работать в консоли Redis, создавать базы данных и производя различные операции с ними.
Чаще всего применяются следующие команды:
- FLUSHALL — очищает все базы данных
- SELECT — осуществляет выборку
- FLUSHDB — очищает базу, использующуюся сейчас
- KEYS — перечисляет все ключи из выбранной базы
Основные настройки для пакета в Ubuntu задаются в конфигурационном файле /etc/redis/redis.conf
Установка Redis на Ubuntu сервер на этом завершена.