Установка и настройка Redis Object Cache в WordPress

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

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

Если в качестве ОС вы используете Debian или Ubuntu, то установить Redis не составит большого труда, запустите на VPS эту команду для установки Redis:

sudo apt update
sudo apt install redis-server

После этого в файл конфигурации Redis, созданный автоматически при установке, необходимо внести одно важное изменение. Откройте этот файл в текстовом редакторе:

sudo nano /etc/redis/redis.conf

Внутри файла найдите директиву supervised. Эта директива позволяет объявить систему инициализации для управления Redis как службой, предоставляя вам более широкий контроль за ее работой. Для директивы supervised по умолчанию установлено значение no. Поскольку вы запускаете Ubuntu, которая использует систему инициализации systemd, измените значение на systemd:

supervised systemd

Перезапустите службу Redis, чтобы изменения вступили в силу:

sudo systemctl restart redis.service

Проверьте, что служба Redis запущена:

sudo systemctl status redis

Чтобы добавить Redis в автозагрузку, введите команду:

sudo systemctl enable redis

Плагин Redis Object Cache для WordPress

А теперь смело, мы можем переходить к установке и настройке работы плагина для WordPress — Redis Object Cache. Получить плагин можно по этой ссылке

Напомню, что кэширование объектов хранит результаты запросов к базе данных, которые были запрошены. Затем при следующем обращении (запросе) он обслуживает их быстрее а не заново запрашивает и формирует их из базы данных, что естественно повышает производительность.

После установки плагина необходимо его сконфигурировать.

Параметры подключения

По умолчанию плагин кеширования объектов подключается к серверу Redis через TCP 127.0.0.1:6379 и использует базу данных с ключом 0. Чтобы не возникло конфликтов с другими сайтами необходимо настроить работу плагина, путем изменением констант в файле в wp-config.php.

define( 'WP_REDIS_HOST', '127.0.0.1' );
define( 'WP_REDIS_PORT', 6379 );
// define( 'WP_REDIS_PASSWORD', 'secret' );
define( 'WP_REDIS_TIMEOUT', 1 );
define( 'WP_REDIS_READ_TIMEOUT', 1 );

// change the database for each site to avoid cache collisions
define( 'WP_REDIS_DATABASE', 0 );

// supported clients: `phpredis`, `credis`, `predis` and `hhvm`
// define( 'WP_REDIS_CLIENT', 'phpredis' );

// automatically delete cache keys after 7 days
// define( 'WP_REDIS_MAXTTL', 60 * 60 * 24 * 7 );

// bypass the object cache, useful for debugging
// define( 'WP_REDIS_DISABLED', true );

WP_CACHE_KEY_SALT(default: not set)
Задает префикс для всех ключей кэша. Полезно когда множественные установки используют общий wp-config.php или $table_prefix. Установка этой константы гарантирует уникальность ключей кэша.
WP_REDIS_SELECTIVE_FLUSH(default: not set)
Если задано значение true, при очистке кэша удаляются только ключи с префиксом WP_CACHE_KEY_SALT (вместо очистки всей базы данных Redis).
WP_REDIS_MAXTTL(default: not set)
Устанавливает максимальное время жизни (в секундах) для кэша с временем жизни 0.
WP_REDIS_GLOBAL_GROUPS(default: [‘blog-details’, ‘blog-id-cache’, ‘blog-lookup’, ‘global-posts’, ‘networks’, ‘rss’, ‘sites’, ‘site-details’, ‘site-lookup’, ‘site-options’, ‘site-transient’, ‘users’, ‘useremail’, ‘userlogins’, ‘usermeta’, ‘user_meta’, ‘userslugs’])
Задайте список глобальных групп Кэша (network-wide групп), к которым не следует добавлять префикс blog-id (для мультисайта).
WP_REDIS_IGNORED_GROUPS(default: [‘counts’, ‘plugins’])
Задает группы кэша, которые не должны кэшироваться в Redis.
WP_REDIS_DISABLED(default: not set)
Установите значение в true, чтобы отключить кэш объектов. Нужно для дебага.
WP_REDIS_IGBINARY(default: not set)
Установите значение true, чтобы включить сериализатор igbinary.

Подробнее …