yii 的不同缓存控制
喜欢yii framework的原因是,体积小,速度快,而且所有的功能都具有,
以前用过zend,qeephp,我个人还是很喜欢qeephp的,只是作者不更新,我用了几年也没有更新,
而且像一些比较先进的应用,譬如mongodb就不支持,让我下决心用MVC还是考虑国际化一点。
下面总结一些yii使用缓存不同方法。
一。数据缓存,这个是少不了,譬如一些查询的数据库数据。
CFileCache 文件缓存
//文件缓存
'FileCache'=>array(
'class'=>'CFileCache',
),
//使用SQLite3
'Dbcache'=>array(
'class'=>'CDbCache.php',
),
//面缓存等
'cache'=>array(
'class'=>'CFileCache',
'directoryLevel' => '1',
),
二,对整个页面进行缓存是必不可少的。
在 Controller里面添加 filters方法就行
里面有几个参数, duration 缓存时间,varyByParam,url参数,例如name=“test”, page=1,自行设置就行
public function filters()
{
return array(
array(
'COutputCache',
'duration' => 36000,
'varyByParam' => array('name')
),
);
}
三,局部动态
当整个页面缓存了,譬如用户的登录作息,这个是动态的
使用方法:在 view里面添加 <?php $this->rrenderDynamic('testDynamic'); ?>
其中 testDynamic 这个可以是 controller里面的方法,也可以是全局函数的字符串名
配合使用这三个常用的缓存策略后,可以满足大部分的需求了。