@faragly

Как на новом ядре 1С-Битрикс работать с php кэшем?

Здравствуйте! На старом ядре пишу так:
$obCache = new \CPHPCache();
$cacheID = 'cache';
$cachePath = '/'.self::MODULE_ID.'/'.$cacheID;
if ($obCache->InitCache(3600, $cacheID, $cachePath)) {
    $vars = $obCache->GetVars();
    extract($vars);
} else if ($obCache->StartDataCache()) {
    // кеш отсутствует
    $obCache->EndDataCache(['result' => $result]);
}

Есть в новом ядре файл /bitrix/modules/main/lib/data/cache.php, но пример не удается найти, даже на офсайте. Кто работал с новым d7, покажите пример работы с кэшем.
  • Вопрос задан
  • 2756 просмотров
Решения вопроса 1
mendler
@mendler
Senior Web Developer
use \Bitrix\Main\Data\cache;

$cache = cache::createInstance();

if( $cache->initCache( $ttl, $id, $id ) ){
	$res = $cache->getVars();
	$arRes = $res["arRes"];
}else{
	$res = array();
	try{
		$cache->startDataCache( $ttl, $id, $id );
		$cache->endDataCache( array(
			"arRes" => $arRes
		) );
	}catch( SystemException $e ){
		$cache->abortDataCache();
		ShowError( $e->getMessage() );
	}
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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