CakePHP开发之视图缓存

本文介绍了CakePHP中的页面缓存机制如何工作,包括如何激活缓存、在视图中使用缓存标记以及如何手动清空缓存等内容。
当对指定URL发起请求时,CakePHP首先检查该URL是否已经被缓存.如果已被缓存,CakePHP就会绕开分发器(dispatcher.php)直接返回已经缓存起来的页面.反之,则通过正常的机制来输出视图.

如果已经[b]激活Cake缓存[/b]机制,Cake会缓存输出的页面已备下次调用。

可以选择缓存某些页面,也可以标记某部分视图不被缓存.

Cache工作设置:
默认情况下,页面缓存机制是[b]禁用[/b]的.为了要激活这个功能,首先要在/app/config/core.php中将[b]CACHE_CHECK的值设为true[/b].
在希望缓存的视图所对应的controller中包含CacheHelper:

var $helpers = array('Cache');
controller中的$cacheAction数组变量中定义了哪些视图(view)将会被缓存.
$cacheAction包含了所有希望被缓存的action名字和对应缓存的生命周期.

class ProductsController extends AppController{
var $cacheAction = array('view/23/' => 21600, 'view/48/' => 21600,);
var $cacheAction = array('recalled/' => 46400);
}

[b]视图中缓存标记[/b]
有时候希望页面上的部分内容不被缓存.
将不希望缓存的内容用[b](cake:nocache)[/b]标签包起来就可以达到部分内容不被缓存的目的.

<h5><cake:nocache>example</h5>
<h1>New Products!</h1>
<cache:nocache>
<ul>
<?php
foreach($newProducts as $product:)
?>
<li>$product['name']</li>
<?endforeach;?>
</cake:nocache>
</ul>

清空缓存
当数据库发生变动时CakePHP会自动清空缓存.

Cake提供了[b]clearCache[/b](cache.php)函数来手动清空缓存,该函数是一个全局的函数:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值