• 技术文章 >后端开发 >php教程

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

    2016-07-13 10:28:22原创524
    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秒后过期。

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/788633.htmlTechArticleCodeIgniter框架是一个非常小巧的PHP框架。CI自带数据库文件缓存,但按官方的说法,缓存设置后永不过期,除非你调用方法主动删除。 Cache...

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:CodeIgniter
    上一篇:在PHP中运行Linux命令并启动SSH服务的例子_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 你知道如何用PHP实现多进程吗• PHP中全面阻止SQL注入式攻击分析小结_PHP教程• smarty中英文多编码字符截取乱码问题解决方法• php实现设计模式中的单例模式详解_php技巧• YII Framework框架教程之使用YIIC快速创建YII应用详解_PHP
    1/1

    PHP中文网