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

Что делать с кешированием в Битрикс при большом кол-ве элементов в инфоблоках?

Есть инфоблок, который содержит тысячи элементов (за 4 месяца накопилось 7 тыс.). При добавлении или изменении одного из элементов сбрасывается весь кеш компонента. Элементы инфоблока часто изменяются.
Думал отключить управляемый кеш и каждый элемент кеша хранить в папке типа. В компоненте:
$arParams["CACHE_TIME"] = 3600000;
$cachePath = "/".SITE_ID."/my/mycomponent/".$arParams["ELEMENT_ID"];
if ($this->StartResultCache(false, false, $cachePath))
{
  //
}

При изменении элемента выполнять очистку папки с элементом (не всего кеша компонента).
Но даже в этом случае при добавлении нового, кеш нужно сбросить полностью всего компонента.
Подскажите пожалуйста, что делать в данном случае?
  • Вопрос задан
  • 890 просмотров
Подписаться 3 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
Выделите вывод ОДНОГО элемента (по идее это должен быть news.detail иди нечто подобное), и кешируйте только его.
При обновление элемента чистите кеш нужного элемента (тем же агентом).
Или добавочный параметр кеша сделайте TIMESTAMP_X
Ответ написан
Ваш ответ на вопрос

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

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