Yii数据库缓存实例分析


Posted in PHP onMarch 29, 2016

本文实例讲述了Yii数据库缓存用法。分享给大家供大家参考,具体如下:

yii  操作数据库缓存:

1、在main.php主文件中添加

'dbcache'=>array(
  'class'=>'system.caching.CDbCache',
  //数据库缓存,注意你自己的路径问题
),

2、设置数据库缓存

Yii::app()->cache->set($key,$value,$outtime);
//$key 唯一主键,$value 对应主键的值(可以是数组), $outtime 过期时间。

3、获取缓存

Yii::app()->cache->get($key);
//设置数据库缓存时的主键key

4、删除缓存

Yii::app()->cache->delete($key);//同上

5、清空缓存文件

Yii::app()->cache->fulsh();
//将删除服务器上面的所有文件缓存,即cache文件夹里面的所有缓存文件

应用实例:(好多视频没有给出在list列表页如果做缓存,列表页需要有page信息,稍微复杂一点,下面给出一个list页面的数据库缓存实例)

当前一个url地址:http://www.aaaa.com/news/list/gid/2/nid/3/page/1.html

先判定缓存是否存在:

if(isset($_GET['gid'])){
     $gid = intval($_GET['gid']);
}else{
     $gid = 1;
}
..........

我这里省略掉了其他的判定条件,当前仅需要判定的信息有$gid,$nid,$pages(注意,当前变量没有用$page而是使用的$pages,因为如果使用$page会出错误,和分页中的$page相冲突)

$newsListCache = Yii::app()->cache->get("newsList$gid$nid$pages");
//可以保证其唯一性即可
if(!empty($newsListCache))//判定如果有这个文件则走这个文件 下面return 了所以后面的数据就不会再走了
return $newsListCache;
。。。。。//这里就是你的其他代码数据,不用管它
Yii::app()->cache->set("newsList$gid$nid$pages",$newsList,3600);//这里的第一个参数需要和上面的对应,第二个参数就是你的数据 , 第三个参数就是过期时间。

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
基于在生产环境中使用php性能测试工具xhprof的详解
Jun 03 PHP
php实现telnet功能示例
Apr 08 PHP
CodeIgniter CLI模式简介
Jun 17 PHP
PHP源码分析之变量的存储过程分解
Jul 03 PHP
PHP aes (ecb)解密后乱码问题
Jun 22 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
Dec 19 PHP
PHP MYSQL实现登陆和模糊查询两大功能
Feb 05 PHP
PHP Smarty模版简单使用方法
Mar 30 PHP
注意!PHP 7中不要做的10件事
Sep 18 PHP
PHP中字符串长度的截取用法示例
Jan 12 PHP
PHP实现对xml的增删改查操作案例分析
May 19 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
Mar 28 #PHP
Yii框架上传图片用法总结
Mar 28 #PHP
Yii开启片段缓存的方法
Mar 28 #PHP
CI操作cookie的方法分析(基于helper类库)
Mar 28 #PHP
CI映射(加载)数据到view层的方法
Mar 28 #PHP
CI配置多数据库访问的方法
Mar 28 #PHP
浅谈PHP中其他类型转化为Bool类型
Mar 28 #PHP
You might like
php 图片上传类代码
2009/07/17 PHP
PHP5 面向对象(学习记录)
2009/12/02 PHP
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
2013/06/20 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
javascript编程起步(第四课)
2007/01/10 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
微信小程序 location API接口详解及实例代码
2016/10/12 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
Python 和 JS 有哪些相同之处
2017/11/23 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
Django 后台带有字典的列表数据与页面js交互实例
2020/04/03 Python
pytorch SENet实现案例
2020/06/24 Python
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
地理科学专业毕业生求职信
2013/10/15 职场文书
毕业生护理专业个人求职信范文
2014/01/04 职场文书
2014全国两会大学生学习心得体会
2014/03/10 职场文书
团日活动总结
2014/04/28 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
学前班语言教学计划
2015/01/20 职场文书
2015年班组长工作总结
2015/04/10 职场文书
安全教育培训心得体会
2016/01/15 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书