Покращене кешування в 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.