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中的字符串函数
Nov 24 PHP
模板引擎Smarty深入浅出介绍
Dec 06 PHP
PHP中PDO基础教程 入门级
Sep 04 PHP
php将时间差转换为字符串提示
Sep 07 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
Jan 05 PHP
php实现压缩合并js的方法【附demo源码下载】
Sep 22 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
PHP中的浅复制与深复制的实例详解
Oct 26 PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 PHP
thinkphp5使html5实现动态跳转的例子
Oct 16 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 PHP
php慢查询日志和错误日志使用详解
Feb 27 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 ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
javascript 冒号 使用说明
2009/06/06 Javascript
jQuery 事件队列调整方法
2009/09/18 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
python matplotlib库直方图绘制详解
2019/08/10 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
如何解决cmd运行python提示不是内部命令
2020/07/01 Python
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
HEMA法国:荷兰原创设计
2019/02/21 全球购物
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
4s店机修工岗位职责
2013/12/20 职场文书
安全教育心得体会
2013/12/29 职场文书
校园活动策划书范文
2014/01/10 职场文书
读群众路线心得体会
2014/03/07 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
太空授课观后感
2015/06/17 职场文书
小学生六年级作文之关于感恩
2019/08/16 职场文书
vue3中的组件间通信
2021/03/31 Vue.js
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL