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 相关文章推荐
初学者入门:细述PHP4的核心Zend
Sep 05 PHP
PHP的历史和优缺点
Oct 09 PHP
php.ini中的php-5.2.0配置指令详解
Mar 27 PHP
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 PHP
解析PHP提交后跳转
Jun 23 PHP
php 地区分类排序算法
Jul 01 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
Jun 26 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
Mar 01 PHP
无需数据库在线投票调查php代码
Jul 20 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
PHP simplexml_load_file()函数讲解
Feb 03 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 cookie 作用范围?不要在当前页面使用你的cookie
2009/03/24 PHP
PHP中使用crypt()实现用户身份验证的代码
2012/09/05 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
2016/11/17 PHP
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
关于JavaScript中string 的replace
2013/04/12 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
bootstrap table表格插件之服务器端分页实例代码
2018/09/12 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
Windows下用py2exe将Python程序打包成exe程序的教程
2015/04/08 Python
python字符串string的内置方法实例详解
2018/05/14 Python
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
Random 在 Python 中的使用方法
2018/08/09 Python
python开启debug模式的方法
2019/06/27 Python
python的sys.path模块路径添加方式
2020/03/09 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
关于是否需要写商业计划书
2014/02/07 职场文书
中秋晚会策划方案
2014/06/12 职场文书
社团活动总结书
2014/06/27 职场文书
代理词怎么写
2015/05/25 职场文书
合理化建议书范文
2015/09/14 职场文书
PHP新手指南
2021/04/01 PHP