Настройка кэширования WordPress при помоши Redis

Оцените статью

Прилетела фриланс задачка по оптимизации WordPress сайта. Как обычно на будущее все запишем, чтобы в следующий раз на чиле и расслабоне сделать.

Установка и настройка Redis‑сервера

# Установка Redis
# apt update
# apt install redis-server

# Запуск и включение автозапуска
# systemctl start redis-server
# systemctl enable redis-server

# Проверка статуса
# systemctl status redis-server

Настройка Redis (опционально)

Отредактируйте /etc/redis/redis.conf.

  • установите пароль (requirepass ваш_пароль);
  • настройте лимиты памяти (maxmemory 256mb, maxmemory-policy allkeys-lru).

Установка PHP‑расширения для Redis

# apt install php-redis

Проверка установки

Создайте файл info.php.

<?php
phpinfo();
?>

Откройте в браузере и убедитесь, что раздел Redis присутствует.

Установка плагина Redis Object Cache

  1. В админ‑панели WordPress перейдите в «Плагины» -> «Добавить новый».
  2. Найдите «Redis Object Cache».
  3. Установите и активируйте плагин.
Установка плагина в WordPress

После установки плагин не настроен.

Плагин кэширования не работает.

Настройка плагина Redis Object Cache

Способ 1. Через wp‑config.php

Добавьте в файл wp-config.php (перед строкой /* That’s all, stop editing! Happy publishing. */):

// Включение Redis Object Cache
define('WP_REDIS_CLIENT', 'predis'); // или 'phpredis'
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', '6379');
define('WP_REDIS_DATABASE', '0');
// Если установлен пароль в Redis:
// define('WP_REDIS_PASSWORD', 'ваш_пароль');
// Таймаут подключения (в секундах):
// define('WP_REDIS_TIMEOUT', 1);
// Таймаут чтения (в секундах):
// define('WP_REDIS_READ_TIMEOUT', 1);

Способ 2. Через настройки плагина

  1. Перейдите в «Настройки» -> «Redis».
  2. Настройте параметры подключения.
  3. Нажмите «Enable Object Cache».
Активируем объектный кэш

Проверка работы

  1. В админ‑панели WordPress перейдите в «Настройки» → «Redis».
  2. Убедитесь, что статус — «Connected».
  3. Проверьте статистику использования кэша.
Кэш работает.

Дополнительные проверки

  • Через командную строку Redis: redis-cli > INFO > KEYS *
  • Через инструменты разработчика браузера: проверьте заголовки ответа сервера (ищите X-Cache: HIT).

Дополнительные настройки и оптимизация

1. Настройка префикса ключей

В wp-config.php:

define('WP_REDIS_PREFIX', 'mysite_');

2. Группировка соединений (для мультисайта)

define('WP_REDIS_CLUSTER', [
    'tcp://127.0.0.1:6379',
    'tcp://127.0.0.1:6380'
]);

3. Настройка таймаутов

define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);

4. Использование Unix‑сокета (быстрее TCP)

define('WP_REDIS_UNIX_SOCKET', '/var/run/redis/redis.sock');

Устранение распространённых проблем

Проблема 1. Не удаётся подключиться к Redis

  • Проверьте, запущен ли Redis: 
    # systemctl status redis-server.
  • Убедитесь, что порт 6379 открыт.
  • Проверьте настройки хоста и порта в wp-config.php.

Проблема 2. Ошибка «PHP Fatal error: Uncaught RedisException: Connection refused»

  • Проверьте, слушает ли Redis нужный порт: 
    # netstat -tlnp | grep 6379.
  • Убедитесь, что PHP‑расширение Redis установлено: 
    # php -m | grep redis.

Проблема 3. Кэширование не работает

  • Проверьте логи WordPress и веб‑сервера.
  • Убедитесь, что плагин активирован.
  • Очистите кэш через настройки плагина.

Проблема 4. Высокая нагрузка на Redis

  • Проверьте использование памяти: 
    # redis-cli info memory
  • Настройте лимиты в 
    # redis.conf
  • Рассмотрите использование политики вытеснения 
    # maxmemory-policy allkeys-lru

Мониторинг и оптимизация

1. Мониторинг использования Redis

# redis-cli info
# redis-cli info memory
# redis-cli info stats

2. Очистка кэша

  • Через админ‑панель WordPress: «Настройки» → «Redis» → «Flush Cache».
  • Через командную строку: 
    # redis-cli FLUSHDB

3. Автоматическое очищение кэша

Добавьте в wp-config.php:

define('WP_REDIS_FLUSH_ON_SAVE_POST', true);

Рекомендации по безопасности

  1. Установите пароль для Redis.
  2. Ограничьте доступ к порту 6379 (только localhost или доверенные IP).
  3. Используйте отдельные базы данных Redis для разных сайтов.
  4. Регулярно обновляйте Redis и PHP‑расширение.

Проверка эффективности

Инструменты для тестирования:

  • GTmetrix — сравните скорость загрузки до и после настройки.
  • Pingdom Tools — проверьте время ответа сервера.
  • WebPageTest — проанализируйте производительность.

Ожидаемые результаты:

  • снижение нагрузки на базу данных MySQL на 30–70 %;
  • ускорение времени загрузки страниц на 20–50 %;
  • улучшение показателей PageSpeed Insights.

Похожие записи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

В этой статье мы рассмотрим пошаговую настройку кластера Kubernetes на Ubuntu 24.04 с тремя узлами: один мастер (который также может запускать пользовательские поды) и два рабочих узла. Мы настроим PersistentVolume…

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

В рамках создания собственного кластера Kubernetes я поднаял кластер Mysql который работает в режиме Master-Slave и Slave-узлы соответственно работают в режиме read-only, а мастер в read-write. Соответственно мне нужен балансировщик…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования