Redis — это бессхемное хранилище данных «ключ-значение» в памяти для приложений реального времени. Разработчики могут использовать его в качестве базы данных NoSQL, вторичного уровня данных или уровня кэша для ресурсоемких процессов.
Redis предлагает постоянное хранилище, которое может кэшировать состояния сеанса веб-сайта и другие данные. Приложения, использующие Redis в качестве уровня кэша, обычно выполняют один сложный запрос к базе данных или вызов API, а затем кэшируют результаты. Он может хранить и извлекать объекты быстро и эффективно. Таким образом, Redis — превосходный компаньон для WordPress, который использует более традиционный сервер реляционной базы данных в качестве основного хранилища контента.
Интерфейс командной строки Redis (CLI) можно использовать для связи с сервером Redis вашего сайта WordPress. Использование Redis CLI (вызываемого в командной строке как redis-cli
), вы можете программно запрашивать и получать ответы от сервера Redis, отслеживать команды, выполняемые в экземпляре Redis, проверять задержку экземпляра и наблюдать за состоянием сервера в режиме реального времени.
В этом руководстве показано, как интегрировать Redis и ваш сайт WordPress, а также использовать Redis CLI для выполнения операций создания, чтения, обновления и удаления (CRUD) с вашего терминала.
Подключите Redis к WordPress с помощью DevKinsta
Чтобы подключить сайт WordPress к базе данных Redis, мы используем DevKinsta, бесплатный набор инструментов, позволяющий одним щелчком мыши быстро разворачивать, разрабатывать и развертывать сайты WordPress из локальной среды.
DevKinsta локально разворачивает Dockerized WordPress-сайт с последними версиями его зависимостей, включая веб-сервер Nginx, PHP и MySQL-совместимую базу данных MariaDB. Он также имеет поддержку CLI для WordPress.
DevKinsta доступен для Windows, Linux и macOS. Более подробную информацию об установке вы можете найти при загрузке DevKinsta.
После завершения установки создайте и установите новый сайт WordPress локально на своем устройстве, используя стек хостинга по умолчанию.
DevKinsta предлагает три варианта локального создания сайтов WordPress: новый сайт с настройками по умолчанию, новый сайт с пользовательскими настройками и клонирование существующего сайта, размещенного на Kinsta, в вашу локальную среду разработки.
В этом руководстве используется первый вариант с настройками по умолчанию и последними версиями Nginx, PHP, MariaDB и WordPress.
Выполнив эти шаги, вы сможете просмотреть панель управления вашего нового сайта в DevKinsta:
Обратите внимание на путь к сайту. Это каталог, содержащий файлы и папки локального сайта. Администратор WP Ссылка на панель управления появится в правом верхнем углу. Наконец, обратите внимание на хост сайта, который представляет собой URL-адрес, указывающий на ваш новый сайт разработки.
Вы можете открыть Docker Desktop, чтобы просмотреть список всех контейнеров, работающих как зависимости в вашем проекте DevKinsta. Для этого нажмите Контейнеры в верхней части левой боковой панели:
Теперь, когда ваш сайт WordPress и зависимости контейнера запущены, вы готовы подключить базу данных Redis к своему сайту:
- Нажмите кнопку Администратор WP Кнопка в DevKinsta, чтобы перейти к панели администратора WordPress.
- Нажать на Плагины вкладка слева.
- Нажмите Добавить новоеи найдите «Кэш объектов Redis».
Нажмите Установите сейчас рядом с плагином. Затем подтвердите его активность, нажав кнопку Установленные плагины вкладка.
При первой активации плагин Redis Object Cache сообщит, что он не может подключиться к базе данных Redis. Мы решаем эту проблему, создавая контейнер с экземпляром Redis в Docker.
Давайте откроем терминал и создадим сетевой контейнер под названием RedisNet в котором можно запустить образ Redis:
docker network create -d bridge redisnet
Теперь создайте и запустите образ Redis как отдельный контейнер внутри этого сетевого контейнера:
docker run -d -p 6379:6379 --name demo_redis --network redisnet redis
После запуска образа контейнера убедитесь в Docker Desktop, что образ Redis запущен и работает:
Помните, что ваш сайт WordPress автоматически запускается внутри контейнера Docker. Вы можете подтвердить имя и идентификатор сети контейнеров:
docker network ls
Выше приведена усеченная версия идентификатора сети для devkinsta_network является d1fa155f7a4d
. Мы будем использовать это позже.
Один из способов подключить кластер и сервер Redis к локальному сайту WordPress — напрямую подключить сети Redis и DevKinsta. Сначала проверьте идентификатор контейнера для Redis. Здесь, с помощью команды Docker для вывода списка контейнеров, мы используем -l
(последний) переключатель, чтобы показать только последний созданный контейнер:
docker ps -l
В этом примере усеченный идентификатор контейнера выглядит как c3ffc630e44c
.
Подключите свой контейнер Redis к сети DevKinsta, используя идентификатор вашего контейнера вместо нашего в приведенной ниже команде.
docker network connect devkinsta_network c3ffc630e44c
Вы должны были успешно добавить образ контейнера Redis в список запущенных контейнеров внутри. devkinsta_network. Чтобы проверить сетевой IP-адрес контейнера Redis, выполните следующую команду, заменив наш devkinsta_network ID с тем, который вы нашли с помощью network ls
команда в вашем проекте:
docker inspect d1fa155f7a4d
На изображении выше IP-адрес demo_redis контейнер 172.172.0.6. Прежде чем продолжить подключение, запишите IP-адрес в своем проекте.
Перейдите в корень сайта WordPress на своем локальном компьютере, который находится в пути к сайту, отображаемом в DevKinsta. Открой wp-config.php файл в текстовом редакторе и добавьте следующий код в раздел для пользовательских переменных конфигурации:
define('WP_REDIS_CLIENT', 'predis');
define('WP_REDIS_HOST', '172.172.0.6');
define('WP_REDIS_PORT', '6379');
IP-адрес, который вы используете для WP_REDIS_HOST
это тот, который вы обнаружили для demo_redis когда вы выполнили docker inspect
команда.
Этот код конфигурации добавляет клиент, хост и порт Redis, чтобы плагин мог получить доступ к серверу Redis внутри того же контейнера Docker и сети, что и DevKinsta.
Чтобы убедиться, что плагин подключен и работает:
- Перейдите на страницу плагинов WordPress на панели администратора.
- Нажмите кнопку Настройки ссылка на кэш объектов Redis.
- На странице настроек нажмите кнопку Включить кэш объектов кнопка.
После включения кэша объектов Redis страница его настроек будет выглядеть примерно так:
Запуск Redis CLI
Инструмент Redis CLI (redis-cli
) поставляется в комплекте с сервером Redis. Вы можете установить сервер Redis в операционных системах Windows, macOS и Linux.
Однако мы уже запускаем Redis в Docker, поэтому мы можем запустить инструмент CLI в нашем demo_redis контейнер.
Выше, когда мы использовали docker ps
команде мы узнали идентификатор контейнера, в котором запущен образ Redis. Наши начались c3ffc630e44c
. Мы можем использовать этот усеченный идентификатор для таргетинга demo_redis и запустите в нем оболочку командной строки:
docker exec -it c3ffc630e44c /bin/sh
Теперь вы можете вызвать redis-cli
инструмент:
Вы можете пропинговать сервер, чтобы проверить соединение:
ping
Чтобы подключиться к серверу Redis, используя его IP-адрес и порт, и проверить это соединение, выполните следующую команду (используя IP-адрес вашего demo_redis контейнер):
redis-cli -h 172.172.0.6 -p 6379 ping
Вы успешно подключились к серверу Redis как на локальном компьютере, так и на контейнере Docker.
Затем убедитесь, что ваш сайт WordPress хранит данные в кеше Redis, используя redis-cli
И его keys *
команда для отображения всех ключей в базе данных:
Вы можете видеть, что некоторые данные WordPress уже сохранены в кеше Redis.
Redis CLI CRUD-операции
Вы можете выполнять операции CRUD в базе данных Redis с помощью инструмента CLI.
Давайте получим значение ключа, который мы скопировали из нашего предыдущего интерфейса командной строки Redis. keys *
запрос.
get :u.:~8r]mC->Re/gG!&mGU.[{+;]t7o<H~)c*pcU=Lx_Vs{9JkdxkL:X;M-@Y$Svwp:user_meta:1
Давайте манипулировать содержимым базы данных Redis, вызывая redis-cli
и используя set
, get
и del
команды для создания пары ключ/значение, запроса нового ключа и последующего его удаления:
Вышеприведенная попытка получить значение удаленного ключа возвращает результат. nil
.
При использовании Redis CLI доступно множество более сложных операций.
Краткое содержание
Redis CLI — это простой способ протестировать команды Redis на вашем веб-сайте, прежде чем внедрять его в рабочую среду. Это также отличный способ отслеживать активность в экземпляре Redis.
В Docker экземпляр Redis предоставляет инструменты, необходимые для управления базой данных, включая redis-cli
— упакованы в один контейнер.
Между тем, подход DevKinsta Dockerized позволяет легко разработать сайт WordPress на локальном компьютере, а затем развернуть его в рабочей среде несколькими щелчками мыши.
Если вы еще не управляете некоторыми из 108 500 сайтов WordPress, размещенных на Kinsta, откройте для себя расширенные функции, доступные во всех наших планах управляемого хостинга WordPress.