Функция для кэширования в Bitrix

Содержимое:

Сегодня мы с вами рассмотрим функцию которая позволяет без труда кэшировать данные в Bitrix. Это простая функция в которую вы передаёте другую функцию и работа переданной функции кэшируется с помощью базовых методов используемых в Bitrix.

Функция для кэширования

Параметры для функции:

  • первый параметр указывает время жизни кэша
  • специальный идентификатор кэша
  • функция, работа которой должна закэшироваться
function returnResultCache($timeSeconds, $cacheId, $callback, $arCallbackParams = '') {
    $obCache = new CPHPCache();
    $cachePath = '/'.SITE_ID.'/'.$cacheId;
    if( $obCache->InitCache($timeSeconds, $cacheId, $cachePath) ) {
        $vars = $obCache->GetVars();
        $result = $vars['result'];
        // $result["status"] = "это кэш";
    }
    elseif( $obCache->StartDataCache()  ) {
        $result = $callback($arCallbackParams);
        $obCache->EndDataCache(array('result' => $result));
    }
    return $result;
}
На этом всё!
Больше интересных статей в нашей группе - https://vk.com/progtime
Вы так же можете разместить свой вопрос на нашем форуме, где другие программисты смогут вам помочь в решение вашей задачи - https://vk.com/prog_time
Так же прокачивайте свои навыки на нашем канале - https://www.youtube.com/c/ProgTime