用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3148|回复: 2
收起左侧

[安全] ci原生缓存解决方案--我的解决@hex

[复制链接]
发表于 2013-7-18 11:11:24 | 显示全部楼层 |阅读模式
关于ci原生缓存问题的事情。http://codeigniter.org.cn/forums/thread-1690-1-1.html。其实关于这个最大的问题,还是写爆磁盘。那么,其实我个人觉得可以建立在缓存文件夹上加一层判断。如是大小超过了多少,就自动删除这个缓存文件夹里所有的东西,这个删除建设系统命令执行(rm -rf ...)速度很快,在缓存时,执行一个函数 safe_cache();.写在helps函数中,这个函数里面伪代码如下:[虽然linux下可以控制一些配额,但他不会自动删除里面的东西 ,所以写此文件]
function safe_cache(){
$max = 3G (定义最大大小);
if(缓存文件夹大小 〉定义的最大大小){
  //执行删除其文件夹所有文件
  //这样避免磁盘被写爆
}
return true;
}
这样就能避免磁盘写爆问题,而且一般来说,但他判断文件夹 缓存文件夹大小(这个最好也用php调用linux的系统命令来判断,会比较快 du -s)。性能上应该也不太会出问题。小弟不才,不知个人的些法有啥问题,可以讨论下。
发表于 2013-7-18 11:29:21 | 显示全部楼层
我同意你的看法,通过php调用linux系统命令
发表于 2013-7-18 13:49:24 | 显示全部楼层
对于这个问题,几年前大家讨论的很多,不过从爆磁盘这个角度讨论的不太多。确实如你所说,如果在和用户相关的写文件操作中,不加限制都会有爆磁盘的隐患。
你提出的这个思路,也是一条解决这个问题的新思路~很棒!

本版积分规则