28 июля 2023 года я написал о том, как Redis помогает ускорить WordPress. Если сайт тормозит из-за множества запросов к базе данных, Redis один из самых простых способов это исправить.
Что такое Redis
Redis это хранилище данных в оперативной памяти. Данные в нём лежат по принципу «ключ и значение», поэтому прочитать их можно почти мгновенно, гораздо быстрее, чем из обычной базы на диске. В Redis можно хранить результаты запросов к базе, ответы API и другие данные, которые часто нужны и редко меняются.
Зачем WordPress кэш
WordPress хранит записи, страницы, комментарии и настройки в базе MySQL или MariaDB. На каждую страницу он делает десятки запросов, и под нагрузкой сайт начинает тормозить. Кэширование сохраняет готовые результаты, чтобы не считать их заново.
Плагины вроде WP Super Cache и W3 Total Cache кэшируют целые HTML-страницы. Это хорошо работает для гостей, но не помогает админке, корзине магазина и залогиненным пользователям. Тут нужен объектный кэш: WordPress складывает результаты запросов к базе в WP_Object_Cache, а Redis хранит их между запросами.
Как подключить Redis к WordPress
- Установите Redis на сервер. Как это сделать на HestiaCP, описано в отдельной инструкции, а в WordOps Redis ставится вместе с сайтом.
- Поставьте плагин Redis Object Cache.
- В настройках плагина включите объектный кэш и проверьте, что статус показывает подключение.
Сколько памяти отдавать Redis на VPS, я разбирал в заметке о лимите памяти Redis, а о кэше на уровне веб-сервера в обзоре кэширования WordPress на Nginx.
Что это даёт
Нагрузка на базу падает, админка и динамические страницы открываются быстрее, а сервер выдерживает больше посетителей. Особенно это заметно на магазинах WooCommerce и сайтах с большим числом плагинов.
Redis закрывает ту часть кэширования, до которой не дотягиваются страничные плагины, и для нагруженного WordPress это одна из первых настроек. Больше способов ускорить сайт в заметке об оптимизации WordPress.
