让CodeIgniter数据库缓存自动过期的处理的方法


Posted in PHP onJune 12, 2014

CodeIgniter框架是一个非常小巧的PHP框架。CI自带数据库文件缓存,但按官方的说法,缓存设置后永不过期,除非你调用方法主动删除。

Cache files DO NOT expire. Any queries that have been cached will remain cached until you delete them.

感觉太弱智了,非常不方便。 修改一下db类,在开启缓存时设置一个过期时间,到期自动缓存自动失效。

1:CI database/DB_dirver.php 中 1021行 cache_on 函数替换为

function cache_on($expire_time=0) //add parm expire time - 缓存过期时间
{
$this->cache_expire_time = $expire_time; //add by kenvin
$this->cache_on = TRUE;
return TRUE;
}

2:CI database/DB_cache.php 中 90行 read 函数 if (FALSE === ($cachedata = read_file($filepath))) 一行前面加上

//判断是否过期 // cache_expire_time
if ( !file_exists($filepath) ) {
return false;
}
if ( $this->db->cache_expire_time > 0 && filemtime($filepath) db->cache_expire_time) {
return false;
}

这样,在需要开启缓存的地方,由以前的 $this→db→cache_on(); 改为

$this→db→cache_on($SEC);

$SEC 为缓存过期时间,以秒为单位。 如 $this→db→cache_on(60);表示缓存60秒后过期。
PHP 相关文章推荐
PHP4引用文件语句的对比
Oct 09 PHP
自己前几天写的无限分类类
Feb 14 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
Nov 01 PHP
php学习笔记之 函数声明
Jun 09 PHP
一个PHP的ZIP压缩类分享
May 04 PHP
神盾加密解密教程(二)PHP 神盾解密
Jun 08 PHP
php将文件夹打包成zip文件的简单实现方法
Oct 04 PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
PHP对称加密函数实现数据的加密解密
Oct 27 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
php的单例模式及应用场景详解
Feb 27 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 #PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 #PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
Jun 12 #PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
Jun 12 #PHP
对PHP语言认识上需要避免的10大误区
Jun 12 #PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
Jun 12 #PHP
PHP微框架Dispatch简介
Jun 12 #PHP
You might like
11个PHP 分页脚本推荐
2011/08/15 PHP
php共享内存段示例分享
2014/01/20 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
PHP ob缓存以及ob函数原理实例解析
2020/11/13 PHP
判断是否安装flash player及当前版本的JS代码
2013/08/08 Javascript
子页向父页传值示例
2013/11/27 Javascript
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
AngularJS实现表单验证
2015/01/28 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
2017/12/07 Javascript
element ui table(表格)实现点击一行展开功能
2018/12/04 Javascript
JS实现小星星特效
2019/12/24 Javascript
Python中使用Queue和Condition进行线程同步的方法
2016/01/19 Python
python 常用的基础函数
2018/07/10 Python
django-rest-framework 自定义swagger过程详解
2019/07/18 Python
python如何将两个txt文件内容合并
2019/10/18 Python
python名片管理系统开发
2020/06/18 Python
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
英文版销售经理个人求职信
2013/11/20 职场文书
医学专业五年以上个人求职信
2013/12/03 职场文书
书法培训心得体会
2014/01/05 职场文书
责任书范本
2014/08/25 职场文书
声乐专业大学生职业生涯规划书:理想的未来需要自己去打造
2014/09/20 职场文书
2014个人年度工作总结
2014/12/15 职场文书
赢在执行观后感
2015/06/16 职场文书