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

 更新时间:2014年06月12日 10:12:32   转载 投稿:shichen2014  
按官方的说法,缓存设置后永不过期,除非你调用方法主动删除。这篇文章主要介绍了CodeIgniter数据库缓存自动过期的处理,需要的朋友可以参考下
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二维数组排序详解

    php二维数组排序详解

    二维数组排序排序在php中也提供了一个函数array_multisort就可以直接排序了,下面我来介绍除了全使用array_multisort 对数组进行排序我们还写了一些自定二维数组排序方法
    2013-11-11
  • php更新修改excel中的内容实例代码

    php更新修改excel中的内容实例代码

    这篇文章主要介绍了php更新修改excel中的内容实例代码,需要的朋友可以参考下
    2014-02-02
  • laravel异步监控定时调度器实例详解

    laravel异步监控定时调度器实例详解

    这篇文章主要给大家介绍了关于laravel异步监控定时调度器的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • PHP插入排序实现代码

    PHP插入排序实现代码

    插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。
    2013-04-04
  • PHP定义字符串的四种方式详解

    PHP定义字符串的四种方式详解

    这篇文章主要介绍了PHP定义字符串的四种方式,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • php URL跳转代码 减少外链

    php URL跳转代码 减少外链

    有时候我们需要添加外链但对于网站来说过多外链是不好的,那么我们可以通过跳转来实现。
    2011-06-06
  • Yii框架防止sql注入,xss攻击与csrf攻击的方法

    Yii框架防止sql注入,xss攻击与csrf攻击的方法

    这篇文章主要介绍了Yii框架防止sql注入,xss攻击与csrf攻击的方法,结合实例形式分析了Yii框架针对sql注入,xss攻击与csrf攻击的防范方法与相关函数调用注意事项,需要的朋友可以参考下
    2016-10-10
  • laravel框架的安装与路由实例分析

    laravel框架的安装与路由实例分析

    这篇文章主要介绍了laravel框架的安装与路由,结合实例形式分析了Laravel框架安装的相关步骤、命令及路由相关使用技巧,需要的朋友可以参考下
    2019-10-10
  • php redis实现对200w用户的即时推送

    php redis实现对200w用户的即时推送

    这篇文章主要为大家详细介绍了php redis实现对200w用户的即时推送,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • destoon整合ucenter后注册页面不跳转的解决方法

    destoon整合ucenter后注册页面不跳转的解决方法

    这篇文章主要介绍了destoon整合ucenter后注册页面不跳转的解决方法,需要的朋友可以参考下
    2014-06-06

最新评论