Что такое кэширование в WordPress?

Общеизвестно, что кэш — это специальная область на диске или в оперативной памяти, хранящая в себе часто используемые данные, и нужна для ускорения процесса выдачи этих данных. Если говорить о сайтах, то наиболее часто кэш используют в таких случаях:

  • обмен данными со сторонними сайтами;
  • запросы последних постов из базы данных;
  • запросы конкретных страниц сайта.

Запросив однажды какие-то данные, их можно сохранить где-либо в памяти и быстрее выдать при следующем обращении. Например, главная страница сайта, попав однажды в кэш, будет быстрее показана при следующем показе.

Как реализовано кэширование в WordPress?

В WordPress реализовано три основных вида кэширования:

  • кэш страниц,
  • кэш объектов,
  • транзитный кэш.

Рассмотрим каждый из по подробнее.

Кэш страниц

Каждый запрос в браузере какой-либо страницы WordPress-сайта предусматривает выполнение сложного процесса для формирования и показа готового результата. Сюда включается выборка из базы данных контента страницы, просмотр и применение настроек плагинов, виджетов, а также темы.

Кэширование страниц позволяет сохранить целиком результат проделанной однажды этой работы и при последующем обращении к странице тоже его выдавать целиком из кэша. Понятно, что если на странице что-то меняется (например, правка текста или вставка картинки), то она из кэша удаляется, и процесс повторяется снова.

В ядре “движка” нет специальных функций по кэшированию страницы. Обычно этим занимаются сторонние разработки — плагины кэширования (например, самые популярные W3 Total Cache, WP Super Cache).

Кэш объектов

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

Постоянное же кэширование может быть реализовано с помощью плагинов (например, Memcached Object Cache или APC Object Cache), позволяющих в оперативной памяти сервера хранить данные даже после завершения запроса. Такой подход уменьшает нагрузку на базу данных.

Транзитный кэш

Транзитный кэш обычно используется разработчиками для хранения данных из внешних ресурсов (например, из соц. сетей или прогноза погоды с метеорологического сайта). Кроме того, такой кэш применяется ядром WordPress для лент RSS, запросов на обновление плагинов, тем, ядра. Если сравнивать транзитный с кэшем объектов, то первый является постоянным.

Оба вида кэширования используются больше разработчиками. Если стоит выбор, какой из них выбрать, то все довольно просто. Если сохранить данные нужно только на какое-то время и больше, чем для одного запроса, то транзитный кэш — идеальное решение. Для хранения одного небольшого объекта исключительно для текущего запроса подойдет объектный кэш.

В качестве заключения

Использование кэширования в работе сайта играет довольно важную роль в его общей скорости и производительности. Отметим, что кэширование особенно оправдывает себя на сайтах с большим количеством функционала и высокой посещаемостью. Для молодых сайтов с небольшим количеством пользователей достаточно будет установки одного из плагинов кэширования страниц. И очередной раз стоит подчеркнуть, что кэш не является единственным инструментом для достижения высокой скорости работы сайта. Параллельно обязательно должны быть предприняты меры по сжатию изображений, оптимизации скриптов стилей, а также при необходимости задействованы CDN-сервисы.

Курс WordPress-разработчик
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров