CodeIgniter - 页面缓存
缓存页面将提高页面加载速度。如果页面被缓存,那么它将以完全呈现的状态存储。下次,当服务器收到缓存页面的请求时,它将直接发送到请求的浏览器。
缓存文件存储在 application/cache 文件夹中。可以针对每个页面启用缓存。在启用缓存时,我们需要设置它需要保留在缓存文件夹中的时间,在该时间之后,它将被自动删除。
启用缓存
可以通过在任何控制器方法中执行以下行来启用缓存。
$this->output->cache($n);
其中 $n 是您希望页面在刷新之间保持缓存的 分钟 数。
禁用缓存
缓存文件过期时会被删除,但如果您想手动删除它,则必须禁用它。您可以通过执行以下行来禁用缓存。
// 删除当前请求的 URI 的缓存 $this->output->delete_cache(); // 删除 /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