@bitrix0ID

Что не так с кэшированием?

Проясните насчет кэша, пожалуйста. Вот мне надо закэшировать некоторую переменную (массив). Делаю следующим образом:

$cache = Cache::createInstance();

if ($cache->initCache(7200, 'mycache'))
    $result = $cache->getVars();
else {
    $result = ['key' => 'value'];
    $cache->endDataCache($result);
}


Я так это понимаю: в блоке "if" проверяется наличие кэша с указанным именем, и если он есть, получаем переменную в result; в "else" (если кэша нет) - заполняем ту же переменную result и добавляем ее в кэш. Далее по коду используем result как нам надо.

Вношу изменения в result (блок "else"), обновляю страницу, и изменения тут же отображаются, значит, кэш не сохранился. И "cache->initCache()" возвращает "false". Что я упустил?
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
Попробуй:
elseif ($cache->startDataCache()) {
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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