CodeIgniter User Guide Version 2.x


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

CodeIgniter поволяет вам кешировать страницы для достижения максимальной производительности.

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

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

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

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

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

Для включения кеширования добавьте следующую инструкую в любую функцию контроллера:

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

Где n это количество минут которые копия страницы будет храниться до следующего обновления.

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

Внимание: Кеширование будет работать только при выводе через отображения.

Примечание: Убедитесь в том, что директория application/cache является записываемой.

Удаление кешей

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