Отправка сообщения






Кэширование результатов выполнения кода в Bitrix D7

Данный пост – это дополнение статьи по работе с главным модулем в Bitrix D7. При однотипном выполнении некоторых участков кода, есть смысл выдавать пользователям уже готовый результат выполнения скриптов на сервере. Это позволяет в значительной степени экономить ресурсы сервера, а также быстро отрабатывать часто повторяющиеся запросы. Для этих целей мы можем использовать кэширование PHP-кода. Механизм кэширования реализован так же в главном модуле. Ранее на нашем сайте уже был материал с примерами кэширования в Bitrix, однако это касалось предыдущих версий движков. В D7 принцип использования кэширования остался практически таким же, однако изменились методы работы с ними.

Простой пример использования кэширования кода:

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

if ($cache->initCache($cacheTime, $cacheId, $cacheDir)) { 
    
	// отдаём данные из кеша
	$arResult = $cache->getVars();
	
} elseif ($cache->startDataCache()) {
	
	// выполняем код, чтобы положить данные в кэш
    $arResult = array();

    if ($isInvalid) { 
        $cache->abortDataCache(); 
    }

    $cache->endDataCache($arResult); 
}

При большом объеме базы данных, могут возникать проблема с производительностью. Наверное, каждый кто работал с Bitrix-ом, знает, на сколько этот вопрос актуален. Поэтому механизмов кэширования в системе может быть целое множество. Каждый из-них направлен на решение определённого рода проблем с производительностью. Поэтому стоит помнить, что существуют так же и другие виды кэширования. Вообще построение кэширования в системе, это дело серьёзное, которое так же требует некоторой сноровки от веб-разработчика. Важно найти золотую середину – компромисс между производительностью, и актуальностью отображаемых данных на сайте.

Опубликован: 10.04.2020 г.
 
нравится (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии

  • Загрузка...

Наверх