CodeIgniter升级到3, 自带数据库的缓存还是没有expire功能,永不过期,实在让人不能接受,好在我们能自己动手,加上expire这个patch吧。
在
system/database/DB_driver.php
中
- 新增
public $cache_expire_time = 0;
- 修改 cache_on()
function cache_on($expire_time=0)
{
$this->cache_expire_time = $expire_time;
return $this->cache_on = TRUE;
}
在
system/database/DB_cache.php
中
read($sql)
函数中新增
// 判断系统当前时间是否expire
if ( $this->db->cache_expire_time > 0 && (time() - filemtime($filepath) > $this->db->cache_expire_time)) {
return FALSE;
}
这样实际调用cache
$this→db→cache_on($SEC);
$sec为过期时间