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创建多级目录代码
Jun 05 PHP
PHP中文件上传的一个问题
Sep 04 PHP
超级实用的7个PHP代码片段分享
Jan 05 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
Mar 26 PHP
浅析Apache中RewriteCond规则参数的详细介绍
Jun 30 PHP
php中获取主机名、协议及IP地址的方法
Nov 18 PHP
php实现插入排序
Mar 29 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
yii2中关于加密解密的那些事儿
Jun 12 PHP
YII框架http缓存操作示例
Apr 29 PHP
Yii框架学习笔记之应用组件操作示例
Nov 13 PHP
PHP架构及原理知识点详解
Dec 22 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
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
ThinkPHP模板自定义标签使用方法
2014/06/26 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
FLASH 广告之外的链接
2008/12/16 Javascript
json格式的时间显示为正常年月日的方法
2013/09/08 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
JavaScript控制table某列不显示的方法
2015/03/16 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
JS中捕获console.log()输出的方法
2015/04/16 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
使用Scrapy爬取动态数据
2018/10/21 Python
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
安装python及pycharm的教程图解
2019/10/10 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
怎么快速自学python
2020/06/22 Python
常用的10个Python实用小技巧
2020/08/10 Python
css3实现3d旋转动画特效
2015/03/10 HTML / CSS
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
应届毕业生个人自荐信范文
2013/11/30 职场文书
初三班主任寄语大全
2014/04/04 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
体育运动会广播稿
2014/10/05 职场文书
导游词之日月潭
2019/11/05 职场文书
MySQL 可扩展设计的基本原则
2021/05/14 MySQL
灵能百分百第三季什么时候来?
2022/03/15 日漫
图神经网络GNN算法
2022/05/11 Python