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 n个不重复的随机数生成代码
Jun 23 PHP
php中计算时间差的几种方法
Dec 31 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
php单例模式实现(对象只被创建一次)
Dec 05 PHP
php生成短网址示例
May 05 PHP
PHP动态编译出现Cannot find autoconf的解决方法
Nov 05 PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 PHP
Laravel手动分页实现方法详解
Oct 09 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 PHP
php创建多级目录与级联删除文件的方法示例
Sep 12 PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 29 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入门速成(2)
2006/10/09 PHP
php 函数中使用static的说明
2012/06/01 PHP
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
javascript移动开发中touch触摸事件详解
2016/03/18 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
JS typeof fn === 'function' && fn()详解
2020/08/22 Javascript
详解Vue的mixin策略
2020/11/19 Vue.js
Python解惑之整数比较详解
2017/04/24 Python
Python实现的矩阵类实例
2017/08/22 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
java关于string最常出现的面试题整理
2021/01/18 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
CSS3属性box-sizing使用指南
2014/12/09 HTML / CSS
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
座谈会主持词
2014/03/20 职场文书
房屋租赁意向书
2014/04/01 职场文书
党支部对转正的意见
2015/06/02 职场文书
公司职员入党自传书
2015/06/26 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers