CodeIgniter User Guide Version 2.0.0


Кеширование страниц

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

Хотя CodeIgniter очень быстрый, количество динамической информации, которое вы отображаете в ваших страницах, будет коррелировать непосредственно с серверными ресурсами, памятью, и использованными циклами обработки, которые замедляют скорость загрузки страницы. Кешируя страницы в полностью готовом состоянии, вы можете увеличить производительность, которая приблизится к производительности статических веб-страниц.

Как работает кеширование?

Кеширование модет быть включено для каждой страницы, и вы можете устанавливать количество времени, которое будет использоваться кешированная страница перед обновлением. Когда страница загружается в первый раз, файл кеша записывается в вашу директорию system/cache. При следующей загрузке страница будет извлечена из кеша и отправлена в браузер запрашивающему ее пользователю.

Примечание: Теги Benchmark не кешируются, поэтому вы можете просматривать производительность вашей страницы при включенном кешировании.

Включение кеширования

Чтобы включить кеширование, поместите следующий тег в одной из ваших функций контроллера:

$this->output->cache(n);

Где n — это количество минут, которые страница должна находиться в кеше перед обновлением.

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

Предупреждение: Ввиду того, что CodeIgniter сохраняет содержимое вывода, кеширование будет работать, только если вы осуществляете вывод из вашего контроллера посредством отображений.

Примечание: Перед тем, как файлы кешей будут записаны, вы должны установить права, разрешающие запись в директорию system/cache.

Удаление файлов кешей

Если вы не хотите продолжать кеширование, вы можете удалить кеширующий тег и кеш не будет обновляться, когда истечет срок хранения. Примечание: удаление тега не удалит кеш немедленно. Он будет истекать в обычном режиме. Если вы нуждаетесь в более раннем удалении, вы можете удалить их вручную из вашей директории system/cache.