Модуль позволяет кэшировать контент сайта на основе легко настраиваемых правил: страницы, разделы, на основании регулярного выражения или php-выражения. По функционалу схож со штатным html-кэшированием, но позволяет более гибко настраивать правила кэширования. Не сбрасывает данные от POST запроса. Можно разрешить кэширование для авторизованных пользователей. Может использоваться компрессия, тогда файлы кэша будут заранее сжаты и отдаваться на запрос в уже сжатом виде.

Модуль предназначен для опытных администраторов и разработчиков проектов на 1С-Битрикс. Если после прочтения инструкции вы не уверены в необходимости использовать данный модуль, то настоятельно рекомендуется обойтись стандартными механизмами кэширования битрикса или же перейти на композитную технологию.

Начнём с примеров

GetCache устанавливается как обычный модуль:

После установки в разделе Настройки появляется новый пункт меню GetCache

В качестве подопытного будет демо-сайт для разработчиков. Начнём с простого. Закэшируем главную страницу сайта. Для этого создадим новое правило кэширования.

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

Выбираем страницу, дополнительные параметры оставляем без изменений и сохраняем.

Проверяем результат.

До (85ms)

После (33ms)

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


Кэширование разделов работает аналогично. При создании правила в выпадающем списке выбираем пункт Раздел и указываем адрес раздела. Для примера выберем раздел с новостями.

Сохраняем. Теперь у нас два правила кэширования.

Если нужно закэшировать много похожих url адресов, тогда удобнее воспользоваться правилом основанным на регулярном выражении:

Для сложной логики кэширования лучше всего подходит правило, срабатывающие при выполнении php выражения.

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

Приготовься сейчас будет немного кода.


RegisterModuleDependences("main", "OnPageStart", "babarun.getcache", "\Bitrix\GetCache\CGetCache", "OnPageStart", 2);

RegisterModuleDependences("main", "OnAfterEpilog", "babarun.getcache", "\Bitrix\GetCache\CGetCache", "OnAfterEpilog", 9999);



Техническая поддержка осуществляется через почту support@babarun.com. В экстренных случаях допускается возможность обратиться за помощью по телефону +7 (916) 549-66-84.