Документация для разработчиков
Темная тема

Автокеширование

Закладки


Кеширование компонентов

Использование технологии Автокеширования позволяет быстро подготовить сайт и компоненты проекта к работе в условиях стрессовых нагрузок или адаптировать сайт к работе на виртуальном хостинге. Методология разработки компонентов 2.0 включает обязательное требование поддержки технологии Автокеширования для разработчиков.

На странице Автокеширование (Настройки > Настройки продукта > Автокеширование) можно включить/отключить автокеширование на сайте с помощью кнопки Включить автокеширование/Выключить автокеширование.

Примечание: При включении режима автокеширования компонентов, компоненты с настройкой кеширования Авто + Управляемое будут переведены в режим работы с кешированием.

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

Обратите внимание: При использовании режима "Автокеширования", обновление информации, выводимой компонентами, происходит в соответствии с параметрами отдельных компонентов.

Для того чтобы обновить содержимое закешированных объектов на странице, вы можете:

  1. Перейти на нужную страницу и обновить ее содержимое, используя кнопку Сбросить кеш на панели инструментов:

    Кнопка "Сбросить кеш"

    Примечание 1: Когда сбрасываете кеш кнопкой Обновить кеш страницы, имейте в виду, что компонент может использовать привязку к группам для хранения кеша (опция Учитывать права доступа) и тогда кеш сбросится только у тех пользователей, которые входят в те же группы, что и вы. Это касается и администратора сайта.

    Опция "Учитывать права доступа"

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

    Пример: Незарегистрированные пользователи будут по-прежнему видеть не актуальную страницу после нажатия кнопки Обновить кеш страницы при установленной опции Учитывать права доступа.

    Примечание 2: Пункт меню Обновить кеш компонентов кнопки Сбросить кеш заставляет все компоненты, расположенные на странице, сбросить свой кеш. Кнопка (пункт) Обновить кеш страницы сбрасывает кеш всей страницы.

  2. В режиме Правки сайта использовать кнопки для очистки кеша в панели отдельных компонентов.

    Очистка кеша отдельных компонентов

  3. Использовать автоматический сброс кеша по истечении времени кеширования, для чего в настройках компонента выбрать режим кеширования Кешировать или Авто + Управляемое.

  4. Использовать автоматический сброс кеша при изменении данных, для чего в настройках компонента выбрать режим кеширования Авто + Управляемое. Подробнее про управляемый кеш см. ниже.

  5. Перейти к настройкам выбранных компонентов и перевести их в режим работы без кеширования.

    Настройки кеширования компонента

Компоненты с настройкой кеширования Авто + Управляемое автоматически обновляют кеш в течение заданного времени или при изменении данных.

Компоненты с настройкой кеширования Кешировать и временем кеширования больше нуля, всегда работают в режиме кеширования.

Компоненты с настройкой кеширования Не кешировать или временем кеширования равным нулю, всегда работают без кеширования.



Управляемый кеш

Для включения/отключения управляемого кеширования используйте кнопку Включить управляемый кеш/Выключить управляемый кеш (не рекомендуется).

Технология управляемого кеширования Сache Dependencies автоматически обновляет кеш компонентов при изменении данных. Если управляемое кеширование включено, вам не потребуется вручную обновлять кеш компонентов при изменении новостей или товаров, изменения сразу станут видны посетителям сайта.

Примечание: Не все компоненты могут поддерживать управляемое кеширование.

Примечание: Подсказка, расположенная ниже настроек кеширования в параметрах компонента отображает состояние текущих настроек ядра.

Ссылка Изменить настройки кеширования позволяет перейти на страницу Настройки кеширования в административном разделе сайта.

Примечание: Технология Сache Dependencies, как и весь продукт, может хранить кеш как в файлах, так и используя Memcached, APC, eAccelerator. Для этого достаточно изменить один из конфигурационных параметров.



HTML кеш

Внимание! С версии 16.0.14 данная закладка отсутствует. Вместо неё используется Композитный сайт.

Для включения/отключения HTML кеша используйте кнопку Включить HTML кеширование/Выключить HTML кеширование.

ПолеОписание
Маска включенияУкажите файлы и типы файлов, которые будут обрабатываться HTML кешем.
Маска исключенияУкажите файлы и типы файлов, которые не будут обрабатываться HTML кешем.
Дисковая квота (мегабайт)Дисковая квота кеша (задается в мегабайтах).

Для сохранения настроек нажмите кнопку Сохранить настройки HTML кеша.

Для установки значений параметров равными значениям по умолчанию нажмите кнопку Установить настройки по умолчанию.

Внимание! Есть и ограничения в использовании. В частности, мы не советуем включать HTML кеш (или включать обдуманно по разделам) для редакций, которые содержат веб-аналитику и модуль рекламы.

Механизм HTML-кеширования лучше всего включить на какой-нибудь редко изменяющийся раздел с регулярным посещением анонимных посетителей, так как при включенном HTML-кешировании происходят следующие процессы:

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

Очистка кеша:

  • если сохраняемый объем приводит к превышению дисковой квоты кеша, то кеш полностью очищается;
  • так же полная очистка кеша происходит при любом изменении данных в административной части системы;
  • если в публичной части сайта происходит POST данных (например, добавление комментария или голосование), то сбрасывается соответствующая часть кеша;

Из всего вышесказанного следует, что:

  • не ведется учет статистики;
  • модуль рекламы будет работать только в момент создания кеша (это не относится к внешней динамической рекламе (Begun и пр.));
  • необходимо обязательно задать дисковую квоту во избежание DoS-атаки по дисковому пространству;
  • после включения механизма HTML-кеширования необходимо проверить весь функционал раздела, к которому применен кеш (например, может не сработать публикация комментариев со старыми шаблонами блогов);


Очистка файлов кеша

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

ПолеОписание
Только устаревшиеФайлы, время жизни которых закончилось.
ВсеВсе файлы кеша.
МенюМеню может быть закешировано, если происходят проверки доступа к различным пунктам меню, разделам. Данный пункт позволяет очистить этот кеш.
Весь управляемыйВсе файлы раздела /bitrix/managed_cache/.
Все страницы HTML кешаУдаление страниц HTML кеша.

Для удаления выбранных файлов нажмите кнопку Очистить.

После удаления файлов кеша выводимые данные будут обновлены до актуального состояния. Новые файлы кеша будут создаваться постепенно по мере обращений к страницам с закешированными областями.



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх