Улучшенное кеширование в Drupal 8 и полезные модули — блог Drudesk
050 640 98 44
support@drudesk.com

Кеширование в Drupal 8: основные улучшения и полезные модули

Кеширование страниц — замечательное изобретение в области повышения скорости сайтов. Его философия заключается в том, чтобы сохранять страницы или части страниц и выдавать их в готовом виде пользователям намного быстрее. Недавно мы описывали один из интересных инструментов для кеширования в Drupal 7 — модуль Boost. Но время летит с молниеносной скоростью, и сейчас очередь Drupal 8 быть в центре внимания. Мы рассмотрим, каким образом кеширование стало более «умным» в Drupal 8, а также предложим вам несколько полезных контрибных модулей.

Улучшенное кеширование в Drupal 8

В Drupal 8 было учтено множество тонкостей кеширования, поэтому оно невероятно улучшилось по сравнению с Drupal 7.

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

Большая роль в этих улучшениях принадлежит новому интересному концепту — метаданным для кеширования, которые включают в себя теги, контексты и max-age (максимальное время кеширования).

Теги описывают объекты, которые кешируются. Они присваиваются сущностям автоматически. Когда определенные части страницы меняются, Drupal автоматически инвалидирует соответствующие теги и обновляет кеш.

Контексты ( "cache contexts") ответственны за создание вариаций кеша в зависимости от контекста. Ну и, наконец, метаданные "max-age" имеют дело с созданием вариаций в зависимости от времени, дают вам возможность устанавливать максимальное время кеширования или выбрать «ноль», если вы не хотите кешировать определенные объекты.

Модули для кеширования в ядре Drupal 8

Internal Page Cache

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

Dynamic Page Cache

А это модуль, «родственный» предыдущему, но с более расширенными возможностями. Dynamic Page Cache работает как с анонимными, так и с залогигенными пользователями. Он кеширует страницы за исключением персонализированной части. Динамический, персонализированный контент обрабатывается автоматически.

BigPipe

Новый участник «команды» по кешированию в ядре Друпала! Одна из самых привлекательных инноваций Drupal 8, модуль Big Pipe, достиг уровня стабильности и стал частью ядра начиная с версии 8.1. Он мгновенно выдает неизменные, закешированные страницы пользователям, чтобы не заставлять их ждать, а затем подтягивает динамические, персонализированные части.

Хотите большего? Некоторые контрибные модули Drupal 8 для кеширования

Purge

Модуль Purge позволяет легко очищать сторонние системы кеширования, а также обратные прокси-серверы и CDN, когда происходят изменения в контенте. Версии модуля 8.x-3.x работают согласно новым практикам Drupal’а, позволяя инвалидацию контента.

Supercache

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

BigPipe demo

Название этого модуля говорит само за себя: он позволяет визуализировать то, что для вашего сайта может сделать модуль Big Pipe. Модуль имеет удобные блоки и очень легок в использовании. Он позволяет экспериментировать с Big Pipe, включать и выключать его, начинать и завершать сессии как анонимный пользователь и так далее.

CacheFlush

А вот удобный инструмент для очистки кеша в Drupal, который предлагает гибкий подход к работе с таблицами и функциями кеша, а также позволяет делать неограниченное количество кастомных настроек. Среди других его преимуществ — расширенные UI-интерфейсы, а также поддержка Drush.

Advanced Page Expiration

Это очень гибкое решение для случаев, если вам нужно, чтобы определенные страницы сайта обновлялись чаще, чем другие. Модуль прекрасно подходит для работы со сторонними серверами по кешированию, например, Varnish.

Memcache Storage

Модуль Memcache Storage отвечает за интеграцию с Memcached daemon. Он является альтернативой модулю Memcache API and Integration, и сейчас находится на уровне готовности «бета» в Drupal 8.

Это лишь несколько из множества Drupal-модулей для улучшения кеширования, доступных для Drupal 8.

Возможности идеально настроить кеширование под нужды именно вашего сайта на Drupal 8 по-настоящему безграничны. Если желаете, можно поручить эту миссию экспертам Drudesk.

Похожие материалы