Подскажите пожалуйста, если я использую тегированный кеш, как мне можно отменить/запретить сброс кеша для всех элементов инфоблока при работе с методами CIBlockElement::SetPropertyValuesEx CIBlockElement::Add CIBlockElement::Delete
Тоесть, я создаю тегированный кеш для конкретного элемента инфоблока, а при использовании приведенных методов, сбрасывается кеш для всех элементов инфоблока
В публичной части проверяю количество запросов SQL в режиме Отладки. При всех трех методах (add/delete/SetPropertyValuesEx), изменяя один элемент инфоблока (на одной странице) сбрасывается кеш и на страницах других элементов
UPD: после тестов с формированием кеша понял, что кеш удаляется не после приведенных методов, а после сброса кеша по тегу тоесть $GLOBALS['CACHE_MANAGER']->ClearByTag("post_likes_".$elementForVoteID); сбрасываются все кеши с тегами post_likes_*, которые лежат в директории /tagged_post_likes
Элион Алисов, там круче - есть магический кеш - iblock_4 - кеш всех элементов инфоблока с id=4, а еще iblock_new - и это не зависит от вашего кода это в самих методах.
Насколько я помню, при создании элемента генерируется его кеш, который помечается тегами. При очистке по данному тегу удаляется сам кеш и когда вы пытаетесь вызвать по тегу, то результата нет (т.к. он удален при очистке другим тегом) и соответственно генерируется новый.
Т.е. для каждого кеша создаю отдельную директорию, и тогда очистка тегированного кеша не выходит за рамки директории. Работает не так как должно, но зато так, как мне нужно