Кэширование веб-страниц
CodeIgniter позволяет кэшировать ваши страницы для достижения максимальной производительности.
Хотя CodeIgniter довольно быстрый, объем динамической информации, отображаемой на ваших страницах, напрямую коррелирует с ресурсами сервера, памятью и циклами обработки, что влияет на скорость загрузки страниц. Кэшируя ваши страницы, поскольку они сохраняются в полностью рендеренном состоянии, вы можете достичь производительности, близкой к производительности статических веб-страниц.
Как работает кэширование?
Кэширование может быть включено для каждой страницы, и вы можете установить время, в течение которого страница должна оставаться в кэше, прежде чем будет произведена ее перезагрузка. При первом загрузке страницы файл кэша будет записан в папку application/cache вашего приложения. При последующих загрузках страницы файл кэша будет извлечен и отправлен браузеру пользователя. Если он истек, он будет удален и обновлен перед отправкой в браузер.
Включение кэширования
Для включения кэширования поместите следующую метку в любой из методов вашего контроллера:
$this->output->cache($n);
Где $n — количество минут, в течение которых вы хотите, чтобы страница оставалась в кэше между обновлениями.
Вышеупомянутая метка может находиться в любом месте внутри метода. Она не зависит от порядка расположения, поэтому поместите ее там, где это кажется вам наиболее логичным. После размещения метки ваши страницы начнут кэшироваться.
Важно
Из-за способа, которым CodeIgniter хранит содержимое для вывода, кэширование будет работать только если вы генерируете вывод для своего контроллера с помощью представления.
Важно
Если вы изменяете параметры конфигурации, которые могут повлиять на ваш вывод, вам нужно вручную удалить файлы кэша.
Примечание
Прежде чем файлы кэша смогут быть записаны, вам необходимо установить разрешения на запись для каталога application/cache/.
Удаление кэшей
Если вы больше не хотите кэшировать файл, вы можете удалить метку кэширования, и он больше не будет обновляться при истечении срока действия.
Примечание
Удаление метки не приведет к немедленному удалению кэша. Он должен истечь обычным образом.
Если вам нужно вручную удалить кэш, вы можете использовать метод delete_cache().
// Deletes cache for the currently requested URI
$this->output->delete_cache();
// Deletes cache for /foo/bar
$this->output->delete_cache('/foo/bar');
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/general/caching.html