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生成WAP页面
Oct 09 PHP
Discuz! Passport 通行证整合
Mar 27 PHP
php session 预定义数组
Mar 16 PHP
PHP迅雷、快车、旋风下载专用链转换代码
Jun 15 PHP
php的sprintf函数的用法 控制浮点数格式
Feb 14 PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 PHP
PHP生成压缩文件实例
Feb 07 PHP
php精确的统计在线人数的方法
Oct 21 PHP
Redis构建分布式锁
Mar 28 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
May 29 PHP
详解laravel安装使用Passport(Api认证)
Jul 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
Terran热键控制
2020/03/14 星际争霸
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
javascript 计算两个整数的百分比值
2009/12/26 Javascript
js 格式化时间日期函数小结
2010/03/20 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
基于mpvue的小程序项目搭建的步骤
2018/05/22 Javascript
Vue学习之组件用法实例详解
2020/01/06 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
tornado框架blog模块分析与使用
2013/11/21 Python
Python用GET方法上传文件
2015/03/10 Python
python模拟enum枚举类型的方法小结
2015/04/30 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
python执行精确的小数计算方法
2019/01/21 Python
Django REST framework 分页的实现代码
2019/06/19 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
Python用SSH连接到网络设备
2021/02/18 Python
html svg生成环形进度条的实现方法
2019/09/23 HTML / CSS
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
保安岗位职责
2014/02/21 职场文书
表扬稿格式范文
2015/01/16 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers