Как установить и настроить кэширование Redis в WordPress

Rifat Учебные пособия по WordPress Sep 19, 2023

WordPress функционирует как система управления контентом с открытым исходным кодом (CMS), облегчающая управление контентом без необходимости приобретения навыков работы с каким-либо языком веб-скриптов. Путем несложного добавления текста, изображений и видео можно создать и впоследствии опубликовать веб-сайт или блог в Интернете. Функциональная основа WordPress находится в PHP и базе данных MySQL.

В процессе создания веб-сайта на базе WordPress использование тем и плагинов является обычным явлением для настройки атрибутов контента и визуальной эстетики. Это облегчает постепенное расширение функциональности веб-сайта за счет дополнительных компонентов, включая сторонние расширения, такие как SEO и аналитика. Взаимозависимости этих тем и плагинов находят свое хранилище в базе данных MySQL, которая служит хостом для содержимого веб-страницы.

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

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

Создавайте потрясающие сайты

С лучшим бесплатным конструктором страниц Elementor

Начать сейчас

Как работает Redis

Рассмотрим сценарий, в котором веб-приложение работает на сервере, используя для своего функционирования такую ​​базу данных, как MySQL. Веб-приложение требует извлечения определенных записей из этой базы данных. Выполнение таких запросов сопровождается значительной задержкой в ​​предоставлении запрошенных записей. Примечательно, что длительные периоды ожидания получения данных, превышающие одну минуту, потенциально могут привести к неоптимальному пользовательскому опыту.

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

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

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

Зачем интегрировать Redis с WordPress

Включение Redis Cache в вашей установке WordPress Core дает преимущество в ускорении доставки контента клиентам. Учитывая широкое использование WordPress для поиска запросов MySQL, снижение производительности становится очевидным в экземплярах с высоким трафиком.

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

Мы создадим объектный кеш Redis — меру, разработанную для улучшения использования базы данных WordPress. Этот кэш объектов Redis служит хранилищем для кэшированных выходных данных, полученных из определенных запросов, направленных на сервер MySQL. Следовательно, когда другие пользователи получают доступ к идентичным сообщениям или статьям, кэш объектов быстро удовлетворяет их запросы, устраняя необходимость запроса к серверу MySQL.

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

Предварительные требования к задаче

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

Установка WordPress с сервером AWS EC2

В этом руководстве я установил установку WordPress с использованием платформы Amazon Web Services (AWS). Ниже представлены краткие процедурные инструкции, описывающие процесс его настройки. Первоначально необходимо убедиться в наличии активной учетной записи AWS; Примечательно, что для целей этого примера достаточно учетной записи бесплатного уровня.

Перейдите к консоли AWS и перейдите к сервису Amazon Elastic Compute Cloud (EC2), после чего запустите виртуальный экземпляр. После этого на территории AWS Marketplace тщательно найдите приложение WordPress. Уместно подчеркнуть, что текущая конфигурация по-прежнему соответствует категории бесплатного уровня. Соответственно, выберите версию WordPress, упакованную Bitnami, которая работает на базе архитектуры HTTP-сервера Apache.

Выберите подходящий тип экземпляра AWS. Для этого конкретного сценария выберите тип экземпляра t2 micro, который соответствует требованиям уровня бесплатного пользования. Затем перейдите к кнопке «Просмотр запуска» и после проверки выполните запуск экземпляра.

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

Проявите терпение, пока AWS инициализируется и начинает запуск экземпляра. Чтобы получить доступ к запущенным экземплярам, ​​просто нажмите на предоставленный идентификатор запуска, как указано ниже.

После подтверждения рабочего статуса экземпляра и успешной настройки WordPress назначенный IP-адрес становится очевидным. Чтобы получить доступ к недавно созданному блогу WordPress, просто введите назначенный общедоступный IPv4-адрес в веб-браузер. Для производственных сред достаточно прямого использования вашего доменного имени.

Доступ к серверу с помощью PuTTY

Начните с приобретения приложения PuTTY — клиента с открытым исходным кодом, который обеспечивает функции Secure Shell (SSH) и telnet на платформе Windows. После приобретения приступайте к установке PuTTY на свой компьютер.

После успешной установки PuTTY найдите утилиту PuTTYgen в каталоге вашего компьютера и запустите ее. На этом этапе необходимо преобразовать ранее сгенерированную пару ключей в файл открытого и закрытого ключей. В интерфейсе PuTTYgen загрузите назначенный ключ, инициируйте процесс генерации ключа и впоследствии сохраните сгенерированный закрытый ключ.

После этих действий запустите приложение PuTTY и введите имя хоста или доменное имя соответствующего сервера. Перейдите через интерфейс к разделу «Сеанс» и укажите соответствующий IP-адрес или имя домена, если оно настроено.

Дальнейшая настройка необходима в меню «Соединения», в частности в подразделе «SSH», а затем в разделе «Аутентификация». Здесь необходимо загрузить недавно сохраненный ключ SSH. После настройки соединение можно установить, выбрав опцию «Открыть».

При успешном подключении будет представлен интерфейс терминала. Введите «bitnami» в качестве учетных данных для входа. Примечательно, что «bitnami» — это имя пользователя по умолчанию, прописанное при установке WordPress. Если были внесены какие-либо изменения имени пользователя, введите измененное имя пользователя соответствующим образом. Этот интерфейс терминала предоставляет интерактивную платформу для внедрения дополнительных библиотек и расширений для улучшения функциональности сервера WordPress.

Добавление Redis на корневой сервер

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

sudo apt install redis

В результате Redis будет установлен на этот IP-адрес. Вы можете перезапустить его с помощью sudo systemctl restart redis.service , чтобы все можно было настроить. Давайте выполним, чтобы проверить, работает ли сервер Redis.

sudo systemctl status redis

Redis правильно настроен на нашем сервере. Вы можете заметить, что у нас еще нет зарегистрированных ключей кэша Redis, запустив redis-cli и keys * .

Теперь, когда все настроено, нам нужно зайти в WordPress wp-admin и добавить плагин Redis. В результате вам просто нужно ввести свой IP-адрес или имя домена и wp-admin , как показано ниже.

your-ip-address/wp-admin

Перейдите к работающему экземпляру на AWS, щелкните правой кнопкой мыши «Мониторинг и устранение неполадок», а затем введите данные для входа в wp-admin. Системный журнал, пожалуйста. Чтобы получить доступ к wp-admin, вы получите информацию для входа в Bitnami WordPress по умолчанию. И вы попали в административную панель.

Добавить Redis в WordPress


Перед настройкой Redis необходимо приступить к установке и активации плагина Query Monitor .

Плагин Query Monitor облегчает отладку различных аспектов, включая запросы к базе данных, ошибки PHP, перехватчики и действия, блоки в редакторе блоков, поставленные в очередь скрипты и таблицы стилей, вызовы HTTP API и многое другое. Кроме того, он предоставляет возможность отображать полное количество запросов к базе данных, организованных по отдельным плагинам.

Чтобы начать этот процесс, перейдите на домашнюю страницу вашего веб-сайта и откройте меню Query Monitor.

После этого откроется панель мониторинга запросов.

Впоследствии обратите свое внимание на метрики, полученные с этой конкретной страницы. Примечательно, что это относительно несложная веб-страница, на которой совокупное количество запросов к базе данных составляет 23, выполняемых всего за 0,0013 миллисекунды.

Завершив этот предварительный шаг, приступайте к внедрению нового плагина. В качестве наглядного примера найдите «Redis» и выберите конкретный плагин « Redis Object Cache ».

После выбора приступаем к установке и активации плагина. Затем перейдите к разделу настроек Redis в меню панели управления. На этом этапе становится обязательным включить функцию кэша объектов.

Следуя этим инструкциям, Redis будет настроен с использованием настроек по умолчанию.

Проверка

В контексте оптимизации веб-сайта при доступе к блогу на вашем веб-сайте, например к стандартному блогу WordPress «Hello World», результаты этого запроса сохраняются в хранилище данных Redis.

Затем перейдите к терминалу и запустите интерфейс командной строки Redis (CLI), используя команду « redis-cli » вместе с указанными ключами (обозначенными *). На этом этапе вы заметите, что Redis должным образом записал новые ключи WordPress (wp).

Эта конфигурация завершает настройку Redis для целей кэширования в среде WordPress.

Чтобы увидеть эффект, обновите изначально загруженную домашнюю страницу, одновременно используя Query Monitor.

Полученное наблюдение показывает заметное улучшение: страница теперь загружается всего с тремя запросами к базе данных, каждый из которых выполняется чрезвычайно быстро — 0,0003 миллисекунды. Эта оптимизация существенно снизила совокупную нагрузку на время обработки запросов к базе данных. Вышеупомянутые запросы теперь систематически сохраняются в памяти, тем самым сокращая частоту прямых обращений к базе данных MySQL. Такая оркестровка в совокупности способствует повышению оперативности серверной части при выполнении входящих запросов.

Подведение итогов

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

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

Redis кэширует только объекты и запросы к базе данных. Это означает, что вы можете продолжать использовать другие плагины кэширования для кэширования ваших страниц и ускорения вашего веб-сайта, например Cache Enabler и WP Cloudflare .

Divi WordPress Theme