Краткий ответ: Установите Redis (sudo apt install redis-server), ограничьте ему память (maxmemory 256mb, политика allkeys-lru), поставьте плагин Redis Object Cache и выполните wp redis enable. После этого WordPress держит результаты запросов и вычисленные данные в RAM вместо того, чтобы переспрашивать MariaDB на каждом запросе.
Обзор
WordPress постоянно задаёт базе одни и те же вопросы — options, меню, термины. Персистентный объектный кеш отвечает на них из памяти. Эффект максимален именно там, где страничный кеш бессилен: wp-admin, просмотр залогиненными, корзины WooCommerce и REST/AJAX-эндпоинты. Redis — фактический стандарт бэкенда для этого.
Что нужно иметь
- Примерно 256–512 MB свободной RAM для Redis (проверьте
free -h). - PHP-расширение Redis:
sudo apt install php8.3-redis. - WP-CLI (удобно) и бэкап.
Пошаговая инструкция
- Установите и запустите Redis:
sudo apt install redis-server php8.3-redis sudo systemctl enable --now redis-server - Ограничьте его аппетит в
/etc/redis/redis.conf:
затемmaxmemory 256mb maxmemory-policy allkeys-lrusudo systemctl restart redis-server php8.3-fpm. - Убедитесь, что он отвечает:
redis-cli ping→PONG(Redis по умолчанию слушает только 127.0.0.1 — так и оставьте). - Установите и включите drop-in:
sudo -u www-data wp plugin install redis-cache --activate sudo -u www-data wp redis enable sudo -u www-data wp redis status - Через день посмотрите hit ratio:
redis-cli info stats | grep keyspace— попаданий должно быть значительно больше, чем промахов.
Типичные проблемы
- «Status: Not connected»: нет PHP-расширения или FPM не перезапущен после его установки.
- Несколько сайтов на одном Redis: коллизии — задайте уникальный
WP_REDIS_PREFIXдля каждого сайта в wp-config.php. - Устаревшие данные после прямых правок базы: одноразово очистите
wp cache flush— изменения мимо WordPress обходят инвалидацию кеша.
Когда обращаться в поддержку
Настройка Redis — работа уровня приложения на неуправляемом VPS; тикеты — правильный канал, когда самому серверу не хватает RAM для нагрузки и нужно подобрать апгрейд.
Частые вопросы
Чем страничный кеш отличается от объектного?
Страничный кеш хранит целые HTML-страницы для анонимных посетителей; объектный кеш держит результаты запросов в RAM и ускоряет каждый запрос, выполняющий PHP — админку, корзины, залогиненных.
Сколько RAM отдать Redis для WordPress?
Для типичного сайта достаточно 256 MB; бойким магазинам WooCommerce может понадобиться 512 MB. Задайте maxmemory с политикой allkeys-lru, чтобы Redis вытеснял старые ключи.
Надо ли защищать Redis?
Держите его привязанным к 127.0.0.1 (по умолчанию) и никогда не открывайте в интернет; добавьте requirepass в redis.conf, если сервер делят несколько недоверенных приложений.
Похожие статьи
- Как ускорить WordPress на VPS
- Как починить медленную админку WordPress
- Как подготовить WooCommerce к VPS-хостингу
- Как оптимизировать PHP для WordPress
Готовы начать? Заказать WordPress VPS в Cloud2Y →
