Здравствуйте. Есть несколько кастомных компонентов, которые во многом оперируют схожими даннными. Из-за этого было принято решение не использовать кеш компонента, т.к. по сути я получил бы несколько вариантов кеша одних и тех же данных, а использовать кастомный кеш через
CPHPCache. В результате получилась следующая реализация(через кастомный класс
BxCache, использующий
CPHPCache):
Код |
---|
$entity_data=BxCache::cache(//params - id, time, function
'EXAMPLE_ID_CACHE_ENTITY'.$unique_id,
TIME_MY_CACHE_SETTINGS,
function()use($unique_id){
//do something
return $func_result;
}
);//
$arResult['MY_DATA']=$entity_data;
$this->IncludeComponentTemplate();
|
Все работает вполне себе прекрасно, но меня смущает в хелпе битрикса этот момент:
Цитата |
---|
Метод $this->IncludeComponentTemplate() не запрашивает данные из базы. Но его тоже лучше включить в кешируемую область, так как этот метод производит определенные дисковые операции. |
Включить
$this->IncludeComponentTemplate() в саму функцию не могу, т.к. ее используют разные компоненты и если вывод шаблона закешируется для одного шаблона, то для другого получится ерунда.
Можно использовать еще один кеш уже только для вывода шаблона, но мне интересно насколько стоит с этим заморачиваться, ведь проверка актуальности кеша тоже затрачивает немного времени. В самом шаблоне нет никаких запросов/ресайзов картинок, обычный вывод $arResult.
В общем, буду благодарен за совет, как лучше поступить