- CodeIgniter 教程
- CodeIgniter - 首页
- CodeIgniter - 概述
- CodeIgniter - 安装 CodeIgniter
- CodeIgniter - 应用架构
- CodeIgniter - MVC 框架
- CodeIgniter - 基本概念
- CodeIgniter - 配置
- CodeIgniter - 数据库操作
- CodeIgniter - 库
- CodeIgniter - 错误处理
- CodeIgniter - 文件上传
- CodeIgniter - 发送邮件
- CodeIgniter - 表单验证
- CodeIgniter - 会话管理
- CodeIgniter - Flash 数据
- CodeIgniter - Temp 数据
- CodeIgniter - Cookie 管理
- CodeIgniter - 常用函数
- CodeIgniter - 页面缓存
- CodeIgniter - 页面重定向
- CodeIgniter - 应用性能分析
- CodeIgniter - 基准测试
- CodeIgniter - 添加 JS 和 CSS
- CodeIgniter - 国际化
- CodeIgniter - 安全性
- CodeIgniter 有用资源
- CodeIgniter - 快速指南
- CodeIgniter - 有用资源
- CodeIgniter - 讨论
CodeIgniter - 页面缓存
缓存页面可以提高页面加载速度。如果页面被缓存,则它将以完全渲染的状态存储。下次服务器收到对缓存页面的请求时,它将直接发送到请求的浏览器。
缓存文件存储在 **application/cache** 文件夹中。可以针对每个页面启用缓存。启用缓存时,我们需要设置缓存文件在缓存文件夹中保留的时间,超过该时间后,它将自动删除。
启用缓存
可以通过在任何控制器的`method`中执行以下代码行来启用缓存:
$this->output->cache($n);
其中 **$n** 是您希望页面在刷新之间保持缓存的 **分钟数**。
禁用缓存
缓存文件过期时会被删除,但如果要手动删除它,则必须禁用它。您可以通过执行以下代码行来禁用缓存:
// Deletes cache for the currently requested URI $this->output->delete_cache(); // Deletes cache for /foo/bar $this->output->delete_cache('/foo/bar');
示例
创建一个名为 **Cache_controller.php** 的控制器,并将其保存在 **application/controller/Cache_controller.php** 中。
<?php class Cache_controller extends CI_Controller { public function index() { $this->output->cache(1); $this->load->view('test'); } public function delete_file_cache() { $this->output->delete_cache('cachecontroller'); } } ?>
创建一个名为 **test.php** 的视图文件,并将其保存在 **application/views/test.php** 中。
<!DOCTYPE html> <html lang = "en"> <head> <meta charset = "utf-8"> <title>CodeIgniter View Example</title> </head> <body> CodeIgniter View Example </body> </html>
修改 **application/config/routes.php** 中的 **routes.php** 文件,为上述控制器添加路由,并在文件末尾添加以下行:
$route['cachecontroller'] = 'Cache_controller'; $route['cachecontroller/delete'] = 'Cache_controller/delete_file_cache';
在浏览器中输入以下 URL 来执行示例:
http://yoursite.com/index.php/cachecontroller
访问上述 URL 后,您将看到为此创建的缓存文件位于 **application/cache** 文件夹中。要删除该文件,请访问以下 URL:
http://yoursite.com/index.php/cachecontroller/delete
广告