Здравствуйте!
Не работает сохранение кеша на сайте
код прикладываю
[CODE]use \Bitrix\Main\Data\Cache;
$cache = Cache::createInstance(); // Служба кеширования
$cachePath = '/mycache/'; // папка, в которой лежит кеш
$cacheTtl = 3600; // срок годности кеша (в секундах)
$cacheKey = 'mycachekey'; // имя кеша
if ($cache->initCache($cacheTtl, $cacheKey, $cachePath))
{
$vars = $cache->getVars(); // Получаем переменные
$cache->output(); // Выводим HTML пользователю в браузер
}
elseif ($cache->startDataCache())
{
$vars = [
'date' => date('r'),
'rand' => rand(0, 9999), // Если данные закешированы - число не будет меняться
];
echo '<b>Какие-то данные выводятся пользователю (Если кеш не работает, то это число будет меняться: '.rand(0, 9999).')</b>';
// Если что-то пошло не так и решили кеш не записывать
$cacheInvalid = false;
if ($cacheInvalid)
{
$cache->abortDataCache();
}
// Всё хорошо, записываем кеш
$cache->endDataCache($vars);
}
// Данные будут обновляться раз в час
print_r($vars);
[/CODE]Пока такой пример, позже поправлю его и буду кешировать данные полученные из бд.
Ожидаю что случайно сгенерированное число закешируется и не будет меняться при обновлении страницы, но этого не происходит.
Управляемый кеш в админке включен.
в dbconn добавил строку [CODE]define('BX_COMP_MANAGED_CACHE', true);[/CODE]Подскажите пожалуйста, в чем проблема
Не работает сохранение кеша на сайте
код прикладываю
[CODE]use \Bitrix\Main\Data\Cache;
$cache = Cache::createInstance(); // Служба кеширования
$cachePath = '/mycache/'; // папка, в которой лежит кеш
$cacheTtl = 3600; // срок годности кеша (в секундах)
$cacheKey = 'mycachekey'; // имя кеша
if ($cache->initCache($cacheTtl, $cacheKey, $cachePath))
{
$vars = $cache->getVars(); // Получаем переменные
$cache->output(); // Выводим HTML пользователю в браузер
}
elseif ($cache->startDataCache())
{
$vars = [
'date' => date('r'),
'rand' => rand(0, 9999), // Если данные закешированы - число не будет меняться
];
echo '<b>Какие-то данные выводятся пользователю (Если кеш не работает, то это число будет меняться: '.rand(0, 9999).')</b>';
// Если что-то пошло не так и решили кеш не записывать
$cacheInvalid = false;
if ($cacheInvalid)
{
$cache->abortDataCache();
}
// Всё хорошо, записываем кеш
$cache->endDataCache($vars);
}
// Данные будут обновляться раз в час
print_r($vars);
[/CODE]Пока такой пример, позже поправлю его и буду кешировать данные полученные из бд.
Ожидаю что случайно сгенерированное число закешируется и не будет меняться при обновлении страницы, но этого не происходит.
Управляемый кеш в админке включен.
в dbconn добавил строку [CODE]define('BX_COMP_MANAGED_CACHE', true);[/CODE]Подскажите пожалуйста, в чем проблема