WordPress активно использует базу данных при каждом обращении к сайту: для вывода записей, меню, виджетов, комментариев и любых динамических элементов. На небольших проектах это почти незаметно, но при росте посещаемости или использовании сложных плагинов нагрузка резко увеличивается. Особенно это критично на VPS — где каждый мегабайт памяти и каждая миллисекунда отклика имеет значение.
Redis позволяет внедрить объектное кеширование: промежуточный слой между WordPress и базой данных, хранящий результаты запросов в оперативной памяти. Это снижает количество обращений к базе и ускоряет генерацию страниц. Но работает такая схема эффективно не всегда и не везде.
В этой статье разберём, в каких случаях Redis действительно ускорит работу сайта на WordPress, а когда его внедрение будет избыточным. Объясним, как именно он взаимодействует с системой, как подключается на VPS и что учесть при настройке.
Что такое объектный кеш Redis

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

Важно отличать объектное кеширование от кеширования HTML-контента. Такие плагины, как WP Fastest Cache, WP Rocket или LiteSpeed Cache, создают статическую версию страниц, исключая выполнение PHP-кода при повторных загрузках. Redis работает иначе: он кеширует именно данные из базы — например, результаты запросов к постам, метаданным, пользовательским сессиям. Это ускоряет внутреннюю работу WordPress, не затрагивая внешний HTML-вывод напрямую.
Как ускорить веб-приложение с помощью кеширования в Redis
Redis — это высокопроизводительное хранилище ключ-значение, работающее в оперативной памяти и идеально подходящее для кеширования. Его главная задача в контексте веб-разработки — сократить время доступа к данным, которые запрашиваются повторно: результаты SQL-запросов, содержимое API-ответов, пользовательские сессии и другие ресурсоёмкие операции.
В отличие от традиционных СУБД, Redis сохраняет данные в памяти, что позволяет получать к ним доступ в десятки раз быстрее. Это особенно важно при высокой нагрузке: когда количество одновременных пользователей растёт, даже минимальная задержка в обработке запросов может привести к замедлению всего приложения.
Кеширование в Redis помогает:
- сократить количество обращений к базе данных,
- снизить нагрузку на сервер,
- ускорить рендеринг страниц и API-ответов,
- обеспечить стабильную работу при пиковой нагрузке.
Что можно кешировать с помощью Redis
Redis особенно эффективен при кешировании данных, которые часто запрашиваются, но редко изменяются. Вот типичные примеры:
- Результаты SQL-запросов. Если ваш сайт или API регулярно выполняет одни и те же SELECT-запросы, кеш Redis может возвращать сохранённый результат без повторного обращения к базе.
- Ответы от внешних API. Вместо того чтобы каждый раз обращаться к стороннему сервису, можно сохранить его ответ в Redis на несколько минут.
- Готовые HTML-блоки или фрагменты шаблонов. Это особенно полезно для элементов, зависящих от контекста — например, списков товаров, блоков «популярное» или меню.
- Данные пользовательских сессий. Redis отлично подходит для хранения сессий в распределённых системах, где несколько экземпляров приложения должны обращаться к общему хранилищу.
- Очереди задач и счётчики. Redis широко используется в системах фоновой обработки и трекинга событий.
Преимущества Redis перед другими типами кеширования
Redis выигрывает по нескольким ключевым параметрам:
- Скорость. Доступ к данным в Redis почти мгновенный — измеряется в миллисекундах.
- Поддержка структур данных. В отличие от Memcached, Redis позволяет хранить не только строки, но и списки, множества, хеши, счётчики и даже геоданные.
- Гибкость очистки. Redis поддерживает политики вытеснения (например, allkeys-lru), автоматическое истечение срока действия и ручной сброс ключей.
- Устойчивость. При необходимости Redis может сохранять снимки данных на диск или работать в режиме репликации, повышая отказоустойчивость.
Когда Redis действительно полезен
Использование Redis оправдано в следующих ситуациях:
- Вы работаете с нагруженным сайтом или API, где каждое обращение к базе — это лишняя задержка.
- У вас ограничены ресурсы VPS, и вы хотите снизить нагрузку на сервер без масштабирования.
- Ваше приложение требует мгновенного отклика (например, онлайн-чаты, финансовые панели, админки).
- Вы строите распределённую систему, где нужно централизованное хранилище сессий или задач.
Установка и настройка Redis на сервере (Ubuntu)
Для начала нужно установить Redis на ваш сервер. Наиболее популярная среда для этого — Ubuntu 20.04 или 22.04, часто используемая на VPS.
Шаг 1. Установка Redis. Откройте терминал и выполните:
sudo apt update
sudo apt install redis-server
После установки Redis будет запущен автоматически. Проверить это можно так:
sudo systemctl status redis
Если Redis работает корректно, вы увидите строку active (running).
Шаг 2. Настройка Redis для работы в памяти. По умолчанию Redis сохраняет данные на диск. Но если вы используете Redis исключительно как кеш, лучше отключить запись на диск и настроить работу только в оперативной памяти:
Откройте файл конфигурации:
sudo nano /etc/redis/redis.conf
Найдите и отредактируйте:
# Отключаем сохранение снапшотов
save ""
# Устанавливаем лимит по памяти
maxmemory 256mb
# Выбираем политику вытеснения данных
maxmemory-policy allkeys-lru
Настройте объём памяти (maxmemory) в зависимости от свободной RAM на вашем VPS. Значение 256mb — безопасный минимум.
Сохраните файл и перезапустите Redis:
sudo systemctl restart redis
Шаг 3. Настройка доступа по сокету (для повышения производительности). Если Redis и ваше приложение находятся на одном сервере, лучше подключаться через Unix-сокет, а не по TCP.
В redis.conf найдите и раскомментируйте:
unixsocket /var/run/redis/redis.sock
unixsocketperm 770
Добавьте веб-сервер (например, www-data) в группу redis:
sudo usermod -aG redis www-data
Перезапустите Redis:
sudo systemctl restart redis
Как Object Cache работает с WordPress
Объектное кеширование в WordPress позволяет сохранять результаты запросов к базе данных и повторно использовать их при генерации страницы. Это снижает нагрузку на MySQL и ускоряет работу сайта, особенно при повторяющихся операциях — например, при выводе одинаковых виджетов или блоков на разных страницах.
В ядро WordPress встроен базовый механизм Object Cache, реализованный через класс WP_Object_Cache. Однако по умолчанию он работает только в рамках одного запроса — то есть все закешированные данные теряются сразу после завершения генерации страницы.
Такой подход малоэффективен в продакшене, особенно на высоконагруженных сайтах. Здесь на помощь приходит Redis, который позволяет сделать кеширование постоянным — данные сохраняются в оперативной памяти между запросами и доступны без повторного обращения к базе данных.
Нужен ли вам Redis в WordPress
Чтобы понять, нужен ли Redis в вашем случае, рассмотрим типовые ситуации, в которых его использование действительно оправдано:
- Динамическое содержимое, зависящее от пользователя. Если страницы формируются индивидуально — например, в интернет-магазинах, личных кабинетах, форумах — стандартные HTML-кеширующие плагины не подойдут. Redis позволяет кешировать не страницы, а сами данные, ускоряя обработку без потери персонализации.
- Высокая нагрузка на базу данных. При большом числе запросов WordPress может «тормозить» из-за постоянного обращения к MySQL. Объектный кеш с Redis уменьшает частоту этих обращений, извлекая данные напрямую из оперативной памяти, что в десятки раз быстрее, чем с диска.
- Ограниченные ресурсы VPS. Redis помогает сократить потребление процессора и времени обработки страниц, позволяя обслуживать больше пользователей без апгрейда тарифа. Особенно это актуально при использовании недорогих VPS с ограниченным объёмом ОЗУ и CPU.
- Проблемы с масштабируемостью. Если сайт начинает замедляться при росте числа пользователей, Redis снижает нагрузку на базу и позволяет масштабироваться горизонтально (например, за счёт балансировщиков), не упираясь в производительность MySQL.
Redis становится особенно полезен на динамических сайтах с высокой посещаемостью, где оптимизация работы с базой данных критична для стабильной и быстрой работы.
Ускоряет ли Redis WordPress
Redis не всегда ускоряет проект. Чтобы Redis действительно дал прирост скорости, должны соблюдаться определённые условия:
- Redis не заменяет плагины для HTML-кеширования. Их нельзя использовать одновременно во всех разделах сайта, поскольку они работают на другом уровне. Redis имеет смысл применять там, где невозможно создать статическую копию страницы — например, в интернет-магазинах, форумах, личных кабинетах и других динамических проектах, где содержимое зависит от действий пользователя.
- Redis не помогает, если узкое место — не база данных. Если время генерации страницы превышает 0,5 секунды из-за медленных плагинов, внешних API или тяжёлых шаблонов, Redis ситуацию не исправит.
- Нет эффекта, если нагрузка высокая, но не на базу. Redis будет полезен при большом числе одновременных пользователей (200+), но только если основная задержка связана с MySQL. Если же задержки вызваны логикой PHP или фронтендом, ускорения не произойдёт.
Все эти факторы влияют на производительность Redis. В следующих разделах мы разберём, как понять, является ли ваша база данных узким местом, и насколько Redis может помочь сократить время генерации страниц.
Как проанализировать время генерации страницы WordPress
Чтобы оценить, сколько времени WordPress тратит на генерацию страниц, удобно использовать плагин Query Monitor. Он помогает выявить узкие места в производительности сайта.
Query Monitor показывает не только общее время генерации страницы, но и количество SQL-запросов к базе данных, а также длительность их выполнения. Это позволяет понять, насколько база загружена и есть ли смысл в подключении объектного кеша через Redis.
Ниже приведем пример, где можно определить ключевые показатели при работе без Redis:
- время генерации страницы: 0,2926 с;
- запросы к базе данных: Всего: 132;
- Object Cache: плагин не установлен.

Поможет ли Redis сократить время генерации страницы
В примере видно: сайт выполняет 132 запроса к базе данных. На первый взгляд — немало, но весь процесс занимает всего 0,0193 секунды. Это означает, что база справляется с нагрузкой, и на производительности сайта такие цифры почти не отражаются.
В таком случае Redis может лишь незначительно сократить время обработки — на те самые 0,0193 секунды. Подключать его имеет смысл только при наличии большого числа одновременных обращений к базе, когда даже небольшое ускорение критично.
Если же запросы обрабатываются быстро, Redis действительно даёт ощутимую пользу только при высокой степени параллельности.
Проверка производительности при использовании Redis
Допустим, на сайте высокая нагрузка — одновременно поступает множество запросов. В такой ситуации важно сократить обращения к базе данных за счёт объектного кеширования.
Посмотрим, как изменится время генерации страницы при подключённом Redis.

Результаты показали:
- время генерации страницы: 0,2736 с;
- запросы к базе данных: Всего: 31;
- Object Cache: 99,3 % обращений.
В результате теста время генерации страницы сократилось до менее чем 20 миллисекунд — показатель настолько низкий, что в большинстве случаев его можно не учитывать. Однако важно другое: количество запросов к базе данных снизилось с 132 до 31, что даёт примерно четырёхкратный прирост эффективности.
Вывод: Redis существенно снижает нагрузку на базу данных, и это особенно важно при большом числе одновременных запросов — например, на сайтах с высокой посещаемостью или в условиях интенсивного взаимодействия с контентом.
Как подключить Redis к WordPress
Начать стоит с установки и настройки службы Redis на сервере. После этого необходимо подключить расширение Redis для PHP, а затем — установить соответствующий плагин в WordPress.
Самый простой способ установки для WordPress
1. Установите и настройте службу Redis. При использовании дистрибутива Ubuntu нужно выполнить следующую команду в терминале:
sudo apt install redis
Далее, внесём настройку в /etc/redis/redis.conf для максимально быстрой работы, активировав подключение через сокеты:
# Включение Unix-сокета для локального подключения
# Это повысит производительность при использовании Redis на том же сервере, где работает WordPress
unixsocket /var/run/redis/redis.sock
unixsocketperm 770
Далее настраиваем memory limit и memory policy, а затем Redis, так, чтобы он работал исключительно в памяти, не сохраняя данные на диск.
############################## MEMORY MANAGEMENT ##############################
# Устанавливаем лимит использования памяти Redis. Как только он будет достигнут,
# Redis начнёт удалять ключи в соответствии с заданной политикой вытеснения.
maxmemory 128mb
# Политика вытеснения allkeys-lru означает удаление наименее используемых ключей,
# независимо от того, установлен ли у них срок действия.
maxmemory-policy allkeys-lru
############################## SNAPSHOTTING ###################################
# Отключаем сохранение снимков базы данных на диск — Redis будет работать только в оперативной памяти.
# Это ускоряет работу и исключает запись на диск, что актуально для кеша.
# Просто закомментируем все директивы save.
# save 900 1
# save 300 10
# save 60 10000
Затем можно перезапустить Redis, чтобы применить настройки:
sudo systemctl restart redis.service
Далее проверяем статус Redis с помощью команды:
sudo systemctl status redis
2. Установка модуля PHP Redis. При использовании дистрибутивов Ubuntu или Debian, можно установить модуль Redis с помощью команды: apt-get install.
apt-get update
apt-get install php7.4-redis

3. Установка плагина Redis Object Cache в WordPress. Из админки WordPress устанавливаем новый плагин Redis Object Cache.

Активируйте плагин и перейдите в раздел «Настройки» → «Redis» для дальнейшей конфигурации.
Нажимаем на кнопку «Включить объектный кеш», активируя Redis с настройками по умолчанию
4. Включить сокетное соединение с Redis для повышения производительности. Если Redis установлен на том же сервере, что и сайт, самым эффективным способом подключения будет использование Unix-сокета.
А чтобы настроить плагин Redis для подключения через сокет, нужно будет определить две константы через wp-config.php:
define( 'WP_REDIS_PATH', '/var/run/redis/redis.sock' );
define( 'WP_REDIS_SCHEME', 'unix' );
Примечание
Нужно изменить путь WP_REDIS_PATH, чтобы он указывал на настоящий сокет Redis.
Использование плагина Redis
В панели администратора WordPress нужно открыть метрическую статистику:

Вкладка «Метрики» показывает впечатляющее время ответа на запросы Redis: менее 4 миллисекунд.
Через этот плагин мы также имеем возможность сбросить кеш в разделе «Overview».

Кеш Redis: очистка (Flush Cache)
В большинстве случаев объектный кеш Redis не требует ручной очистки — он обновляется автоматически, когда данные устаревают или изменяются. Однако бывают ситуации, когда сброс кеша становится необходимым: например, после обновления плагинов, изменения конфигурации, миграции сайта или если серверные процессы работают некорректно.
Функция Flush Cache в интерфейсе Redis Object Cache предназначена исключительно для сброса объектного кеша. Она не затрагивает HTML-кеш, создаваемый такими плагинами, как WP Rocket, LiteSpeed Cache или Fastest Cache. То есть при очистке Redis страницы сайта, сохранённые в виде статических HTML-файлов, останутся нетронутыми.
Также стоит помнить: если вы используете Redis и другие плагины кеширования параллельно, рекомендуется настраивать их так, чтобы каждый работал в своей области и не конфликтовал с остальными — это позволит избежать путаницы при отладке и очистке.
Заключение
Redis — это система кеширования, которая помогает ускорить работу веб-приложения за счёт снижения нагрузки на базу данных и сокращения времени отклика. Наиболее ощутимую пользу Redis даёт при большом числе повторяющихся запросов, высокой посещаемости и ограниченных ресурсах — что характерно для сайтов на VPS.
Мы рассмотрели, как Redis работает на уровне объектного кеша и чем он отличается от классических HTML-кеширующих решений. Вы узнали, какие типы данных целесообразно кешировать, когда Redis действительно оправдан, а когда его использование не даст эффекта.
На практике Redis показывает наилучшие результаты в динамических системах: от интернет-магазинов и форумов до SPA-приложений и панелей управления. Redis легко установить на сервер с Ubuntu, настроить для работы с приложением и подключить к WordPress через плагин Redis Object Cache.
Если вы уже сталкиваетесь с замедлением сайта при росте нагрузки, а профилирование показывает высокую активность базы данных — Redis может стать отличным решением. Особенно в связке с VPS, где важно использовать ресурсы экономно и эффективно. Используйте Redis осознанно: тестируйте, анализируйте и применяйте только там, где он действительно даёт прирост производительности. Это и есть разумный подход к оптимизации веб-приложений.
Материал подготовлен при участии Алексея Гончарова, e-commerce full-stack-разработчика, основателя digital агентства Readycode и Sellum.co.