Задать вопрос
@anton99zel
29а класс средней школы №7

Кэширование при использовании api — как?

Например,
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
$arSelect = Array("ID", "IBLOCK_ID", "NAME", "DATE_ACTIVE_FROM","PROPERTY_*");//IBLOCK_ID и ID обязательно должны быть указаны, см. описание arSelectFields выше
$arFilter = Array("IBLOCK_ID"=>IntVal($yvalue), "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50), $arSelect);
while($ob = $res->GetNextElement()){ 
 $arFields = $ob->GetFields();  
print_r($arFields);
 $arProps = $ob->GetProperties();
print_r($arProps);
}

и прикрутим верстку)
Как кэшировать и проверять, что действительно это работает, поделитесь рабочими примерами?
  • Вопрос задан
  • 535 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
winer
@winer
занимаюсь разработкой сайтов на 1c-bitrix
CPhpCache - класс из старого API для кеширования PHP переменных и HTML результата выполнения скрипта.. Смотрите примеры на странице документации.

В D7 аналогом является \Bitrix\Main\Data\Cache

use \Bitrix\Main\Data\Cache;

$cache = Cache::createInstance(); // получаем экземпляр класса
if ($cache->initCache(7200, "cache_key")) { // проверяем кеш и задаём настройки
    $vars = $cache->getVars(); // достаем переменные из кеша
}
elseif ($cache->startDataCache()) {
    // некоторые действия...
    $cache->endDataCache(array("key" => "value")); // записываем в кеш
}


Загляните в курс Разработчик Bitrix Framework. Там есть поиск, с помощью которого можно найти довольно много статей про кеширование с примерами.

Для проверки кеша, можно использование инструменты отладки. С их помощью можно узнать использование кеша в рамках хита.

Можно воспользоваться модулем "Монитор производительности". Для этого надо включить параметры Вести журнал кеширования и Включить монитор.

Модуль будет собирать данные в течении заданного промежутка времени. В дальнейшем эти данные можно будет просмотреть на административных страницах модуля
Ответ написан
Ваш ответ на вопрос

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

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