Middle Компоненты: разработка Обязательно

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

Метод startResultCache() проверяет наличие кеша компонента и при его отсутствии выполняет выборку с сохранением вывода в /bitrix/cache/. Уникальные факторы выборки (ID пользователя, фильтры, страница пагинации) передаются вторым аргументом ключа кеша, а для инвалидации при обновлении данных инфоблока регистрируют теги в TaggedCache.

Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.

Что нужно понимать

  • 1
    Настройка кеширования
  • 2
    Теги кеша
  • 3
    Инвалидация кеша

Материалы

Проверь себя

Пользователь видит в компоненте чужие данные. Где искать причину?

В ключе кеша. Компонент кешируется по параметрам, шаблону и группам пользователя, а всё, что влияет на результат сверх этого (ID пользователя, GET-параметр фильтра, город), нужно самому передать вторым аргументом startResultCache().

Почему код в result_modifier.php не сработал, а в component_epilog.php сработал?

result_modifier.php выполняется только при формировании кеша, вместе с шаблоном. component_epilog.php выполняется на каждом хите, в том числе когда HTML взят из кеша.

Зачем вызывать SetResultCacheKeys(), если компонент и так работает?

Без него в кеш попадает весь $arResult, включая данные, нужные только шаблону. Ключи ограничивают то, что доступно в component_epilog.php, и уменьшают размер файлов в /bitrix/cache.

Чем тегированный кеш лучше короткого времени жизни?

Кеш живёт долго и сбрасывается точно в момент изменения данных: при правке элемента инфоблока ядро сбрасывает все кеши с тегом iblock_id_N. Короткое время жизни просто чаще перестраивает кеш и грузит базу.

Не сходится?

Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.

Знаете материал лучше?

Предложите ссылку: после проверки она появится в этом разделе.

Войти, чтобы предложить
Поделиться в Telegram
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…
Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти