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 获取可变函数参数的函数
Aug 26 PHP
QQ互联一键登录审核不通过的解决方案
Sep 10 PHP
PHP实现股票趋势图和柱形图
Feb 07 PHP
PHP实现懒加载的方法
Mar 07 PHP
php将字符串转换成16进制的方法
Mar 17 PHP
PHP实现全角字符转为半角方法汇总
Jul 09 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
Jun 17 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
Sep 29 PHP
PHP实现的支付宝支付功能示例
Mar 26 PHP
PHP Trait代码复用类与多继承实现方法详解
Jun 17 PHP
php输出反斜杠的实例方法
Sep 19 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
Dec 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 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
PHP 第二节 数据类型之数值型
2012/04/28 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
使用jQuery仿苹果官网焦点图特效
2014/12/23 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
2017/06/04 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
微信小程序使用字体图标的方法
2019/05/23 Javascript
Nodejs libuv运行原理详解
2019/08/21 NodeJs
Python urlopen()函数 示例分享
2014/06/12 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
Python 实现字符串中指定位置插入一个字符
2018/05/02 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
PyTorch实现AlexNet示例
2020/01/14 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
使用CSS变量实现炫酷惊人的悬浮效果
2019/04/26 HTML / CSS
锐步英国官网:Reebok英国
2019/11/29 全球购物
最新销售员个人自荐信
2013/09/21 职场文书
计算机学生的自我评价分享
2014/02/18 职场文书
八项规定对照检查材料
2014/08/31 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
父母教会我观后感
2015/06/17 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python