缓存页面将提高页面加载速度。缓存的文件存储在 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 {
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> index</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">output</span><span class="pun">-></span><span class="pln">cache</span><span class="pun">(</span><span class="lit">1</span><span class="pun">);</span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">load</span><span class="pun">-></span><span class="pln">view</span><span class="pun">(</span><span class="str">test</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> delete_file_cache</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">output</span><span class="pun">-></span><span class="pln">delete_cache</span><span class="pun">(</span><span class="str">cachecontroller</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
?>
创建一个名为 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