Очистка кэша в Друпал

29 Мая 2022г. в 04:33

Кратко хотелось бы напомнить Вам что кэширование – это процесс сохранения информации о веб-страницах сайта в специальный промежуточный буфер, под названием “Кэш” (Сache), который обладает сравнительно большим быстродействием. Но Вы можете спросить, каким образом подобное сохранение позволяет ускорить процесс работы сайта? Смотрите, пользователь, запрашивая отображение конкретной страницы на экран – отправляет запрос к нашему сайту, который попадает в главную точку входа. Далее запрос попадает в подходящий контроллер для последующей обработки. При этом при необходимости реализуется предварительная обработка данных – валидация, приведение к нужному виду, возможно запрос вспомогательных данных, или просчет некоторых дополнительных параметров. А затем, используя модель, из базы данных выбирается необходимая информация из соответствующих таблиц, которая так же после, может обрабатываться, для передачи дальше в вид – шаблон. То есть, как Вы видите, для того что бы отобразить необходимую страницу на экране пользователя, CMS Drupal выполняет множество всевозможных операций. Но, так или иначе, пользователи запрашивают одни и те же страницы проекта, а значит используя кеширование, готовые к отображению страницы, сохраняются в буфер (в память с быстрым доступом) и при запросе сразу же в виде ответа, отдаются “пользователю”.

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

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

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

Очистка кэша в Друпал

Для включения вышеуказанного механизма, достаточно в выпадающем списке “Page cache maximum age”, выбрать время кэширования элементов и нажать по кнопке “Сохранить конфигурацию”. Повторюсь, что время кэширования зависит от того как часто меняется контент Вашего сайта.

Очистка кэша в Друпал

Здесь же присутствует и кнопка, при помощи которой осуществляется очистка устаревшего кэша.

Очистка кэша в Друпал

Но перед тем как ее использовать, давайте внесем небольшие изменения в шаблон нашей страницы. Для этого, если используется стандартная тема “Bartic”, переходим по адресу /core/themes/bartik/templates/ и открываем в текстовом редакторе макет страницы – файл page.html.twig, в который добавим небольшое изменение.

Очистка кэша в Друпал

Теперь перейдем в пользовательскую часть и обновим страницу.

Очистка кэша в Друпал

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

Очистка кэша в Друпал

Теперь все отлично, указанные правки видны на сайте.

Теперь Вы знаете, как работать с кэшем, причем для примера я использовал версию 8, движка, но в Друпал 7, работа с рассматриваемым механизмом реализована абсолютно аналогично.

И напоследок, хотел бы уточнить, что более подробно разделы конфигурации, рассмотрены в премиум курсе Курс по Drupal. Основы. На этом данная статья завершена. Всего Вам доброго и удачного кодирования!!!