/Кэширование в diafan.CMS

Авторы

Дмитрий Афанасьев Марина Дорохина Юлия Афанасьева Дмитрий Селезнев Игорь Ряховский
Марина ДорохинаМарина Дорохина
25 июня 2010 г.
Теги: diafan.CMS

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

В diafan.CMS за кэш отвечает класс Cache. Он определен в файле includes/cache.php. Там описаны три основных функции для работы с кэшем: get, save, delete. Вызывать их очень просто:

//выдает данные сохраненные для модуля, помеченные тэгом
$this->diafan->_cache->get("тэг""модуль");

// сохраняет данные для модуля, помечает тэгом
$this->diafan->_cache->save($data"тэг""модуль");

// удаляет данные для модуля, помеченные тэгом
// если тэг не указан, то удаляет весь кэш модуля

$this->diafan
->_cache->delete("тэг""модуль");

Последняя фукнция навряд ли будет вами использоватся, так как весь кэш модуля чистится при редактировании контента модуля или при изменении конфигурации модуля.

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

if(! $result $this->diafan->_cache->get("list""news"))
{
            
//генерируем контент, записываем результат в переменную  $result
            //...
            //сохранение кеша
            
$this->diafan->_cache->save($result"list""news");
}

Кэш хранится в файлах в директории cache. Чтобы файлы корректно записывались установщик CMS требует поставить на эту папку доступ 0777.

Вы можете вручную очистить кэш, удалив все файлы из этой директории.

В некоторых случаях кэш необходимо отключать. Например, вы вносите изменения в алгоритм генерирования данных. Это можно сделать в административной части сайта: Параметры сайта → вкладка Режим разработки → Отключить кэширование. При отключенном кэшировании контент не берется из кэша, однако сгенерированная информация записывается в кэш.


Чтобы оставить комментарий необходимо авторизоваться на сайте.