Skip to content

Instantly share code, notes, and snippets.

@nizom333
Last active February 7, 2022 23:10
Show Gist options
  • Save nizom333/63b2aaf2179a30691d352d7f2301e137 to your computer and use it in GitHub Desktop.
Save nizom333/63b2aaf2179a30691d352d7f2301e137 to your computer and use it in GitHub Desktop.
Хранение данных в кеше ( Битрикс битрикс bitrix bitrix24 bx b24 )
<?php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
Bitrix\Main\Loader::includeModule('main');
class SomeComponent extends \CBitrixComponent
{
private function getRequest($id): array
{
$result = [];
$cache = \Bitrix\Main\Data\Cache::createInstance();
if ($cache->initCache(36000, "request{$id}", '/request.data/'))
{
$result = $cache->getVars();
}
elseif ($cache->startDataCache())
{
/**
* Тут происходит простой select и передаем в переменую $result
*/
$result = \EYerNazorat\Main\DataManager\Entity::getInstance((int)$this->arParams['ENTITY_ID'])->getList([
'filter' => ['ID' => $id],
]);
/**
* Сохраняем данные после вы полнение скрипта должно создадся в папке /bitrix/cache/ папка request.data в этой папке хранится все данные
*/
$cache->endDataCache($result);
/*
Если при создание записи произошла ошибка то использует этод метод
if(!$response->isSuccess()) $cache->abortDataCache();
*/
}
return $result;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment