Кеширование Битрикс
- CPageCache - класс для кеширования HTML
- CPHPCache - класс для кеширования PHP/HTML
Сниппет кеширования
- bitrix-cache.php
$cache = new CPHPCache(); $cache_time = 3600; // время кеширования в секундах $cache_id = '$myVal'; // ключ; вариант: 'arIBlockListID'.$cntIBLOCK_List $cache_path = 'products/catalog/'; // уникальное название, я попросту использую там, где это используется; вариант: 'arIBlockListID' if ($cache_time > 0 && $cache->InitCache($cache_time, $cache_id, $cache_path)) { $myVal = $cache->GetVars(); } if (!isset($myVal) || !is_array($myVal)) { $myVal = heavyFunction(); // получение данных из медленой тяжелой функции if ($cache_time > 0) { $cache->StartDataCache($cache_time, $cache_id, $cache_path); $cache->EndDataCache($myVal); } }
Очистка кеша:
- bitrix-clear-cache.php
$cache = new CPHPCache(); $cache->CleanDir('products/catalog/');
Очистка кеша отдельного компонента
- bitrix-clear-cache.php
CBitrixComponent::clearComponentCache('vendor:component');