Кэширование своей переменной - sidigi/bitrix-info GitHub Wiki
Управляемый кэш
<?php
$cacheId = 'uniqueCacheId';
$cacheTtl = '3600';
$cache = \Bitrix\Main\Application::getInstance()->getManagedCache();
if ($cache->read($cacheTtl, $cacheId)){
$data = $cache->get($cacheId); // get our data
}else{
$data = '12345678';
$cache->set($cacheId, $data); // set our cache
}
Обычный кэш
<?php
$сache = Bitrix\Main\Data\Cache::createInstance();
if ($сache->initCache($cacheTime, $cacheId, $cacheDir)){
$result = $сache->getVars();
}elseif ($сache->startDataCache()){
$result = array();
// ...
if ($isInvalid)
{
$cache->abortDataCache();
}
// ...
$сache->endDataCache($result);
}