无涯教程-CodeIgniter - 页面缓存

55 阅读1分钟

缓存页面将提高页面加载速度。缓存的文件存储在 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">-&gt;</span><span class="pln">output</span><span class="pun">-&gt;</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">-&gt;</span><span class="pln">load</span><span class="pun">-&gt;</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">-&gt;</span><span class="pln">output</span><span class="pun">-&gt;</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

参考链接

www.learnfk.com/codeigniter…