Yii框架常见缓存应用实例小结
发布:smiling 来源: PHP粉丝网 添加日期:2021-12-16 10:36:00 浏览:5 评论:0
这篇文章主要介绍了Yii框架常见缓存应用,结合实例形式分析了Yii框架缓存相关的配置、获取、查询等操作技巧与注意事项,需要的朋友可以参考下。
本文实例讲述了Yii框架常见缓存应用,分享给大家供大家参考,具体如下:
1 首先,你需要安装apc or memcache or redis,安装完后,以redis 为例,至于如何安装,多找度娘。
在配置文件中components 添加如下。
- 'cache'=>array(
- 'class'=>'core.extensions.redis.Predis',
- 'class'=>'core.extensions.redis.CRedisCache',
- 'servers'=>array(
- array(
- 'host'=>'192.168.1.xx',
- 'port'=>6379,
- ),
- ),
- ),
2 最简单的例子,set get.
- Yii::app()->cache->set('id', date("Y-m-d H:i:s"), 5); //设置有效时间为5.
- echo Yii::app()->cache->get("id")."<br/>";
- sleep(2);
- echo Yii::app()->cache->get("id"); //缓存有效期内 会输出数据
- sleep(4);
- echo Yii::app()->cache->get("id"); //缓存失效,输出为空
3 数据库查询缓存。
- //3.1 最简单的数据库缓存。
- $sql = 'select * from {{settings}}';
- $cmd = Yii::app()->db->cache(10, null)->createCommand($sql);
- $rows = $cmd->queryAll();
- //3.2 加一个缓存依赖的概念。
- $dp_sql = "SELECT MAX(id) FROM plat2_settings ";
- $dependency = new CDbCacheDependency( $dp_sql );
- $sql = "SELECT * FROM `plat2_settings`";
- $rows = Yii::app()->db->cache(1000, $dependency)->createCommand($sql)->queryAll();
上面的代码意思是查询对应的数据的时候,会先判断依赖查询 SELECT MAX(id) FROM plat2_settings 的结果数据是否有更新,
如果有更新,则重新查询数据,如依赖未更新则直接调缓存数据。 过1000 秒后,会重新查询。
4 片断缓存。
- if($this->beginCache("xx"))
- {
- echo "test cache ";
- $this->endCache();
- }
beginCache 会存在第二个参数,意思是选用指定的缓存器,如果需要使用不同的缓存时,可以定制。
5 页面缓存。
- public function filters(){
- return array(
- array(
- 'COutputCache+index+admin',
- 'duration' => 120,
- 'varyByParam'=>array('id'),
- ),
- );
- }
使用控制器,直接对指定的action 进行缓存处理 。
还有varyBySession 可以选配。
Tags: Yii框架缓存
相关文章
- ·YII Framework框架教程之缓存用法详解(2021-07-14)

推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)