Кеширование данных

Модуль расширенного управления меню для битрикс

Июль 5, 2024

Теги: Основное, Кеш, Хранение данных

Запись и получение данных из/в управляемый кеш с помощью объекта, получаемого из \Bitrix\Main\Application::getInstance()->getManagedCache().

Сохранить или получить данные для идентификатора кеша "my_cache_id":


$cache \Bitrix\Main\Data\Cache::createInstance(); 

$taggedCache \Bitrix\Main\Application::getInstance()->getTaggedCache();

$cachePath 's1/my_cache_dir';

if (
$cache->initCache(86400'my_cache_id'$cachePath)) 
{
    
$data $cache->getVars(); // получаем данные из кеша

elseif(
$cache->startDataCache())
{
    
$taggedCache->startTagCache($cachePath);
    
$taggedCache->registerTag('tag1'); // будет доступен сброс по тегу 'tag1'
    
$taggedCache->registerTag('tag2'); // а также 'tag2'
    // $cache->abortDataCache(); // если нужно прервать создание кеша
    
$data = array(
        
'key1' => 'value1',
        
'key2' => 'value2',
    );
    
$taggedCache->endTagCache();
    
$cache->endDataCache($data); // сохраняем данные в кеш
}

Очистка кеша для тега 'tag1':


$taggedCache \Bitrix\Main\Application::getInstance()->getTaggedCache();

$taggedCache->clearByTag('tag1');

См. также:

← Переход к списку