Задать вопрос
@ermolaev_nikita

Как реализовать автоматическое кэширование в компонента Bitrix?

Как реализовать автоматическое кэширование в собственных компонентах Bitrix?
На ядре D7 компоненты наследуются от класса CBitrixComponent, в котором реализован метод StartResultCache, EndResultCache и AbortResultCache.

Сигнатура вызова метода StartResultCache не подразумевает какое-то место для тегирования кэша и т.д., как тогда реализовать автоматическую очистку кэша при обновлении элементов(или категорий) в инфоблоке?
  • Вопрос задан
  • 442 просмотра
Подписаться 3 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Графический дизайнер PRO
    15 месяцев
    Далее
  • Нетология
    Фронтенд-разработчик
    11 месяцев
    Далее
Решения вопроса 1
smilingcheater
@smilingcheater
Для маркировки кеша компонента тегом зависимости от инфоблока - внутри кушируемой части (блока StartResultCache) вызовите:
$taggedCache = \Bitrix\Main\Application::getInstance()->getTaggedCache();
$taggedCache->registerTag('iblock_id_' . $iblockId);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы