搜索
系统检测到您的用户名不符合规范:

延迟更新_缓存优化

浏览:3552 发布日期:2013年01月10日 分类:功能实现
默认的延迟更新,用的是F快速缓存,有个缺点:所有文件都在一个目录下,对于统计页面非常多的站点,可能不太好。比如一个网站上百万个页面需要统计,那么产生的缓存文件数量将是海量的。。
这里做了一点修改,缓存方式改为cache()方法,支持多级目录缓存。
在配置文件中开启子目录缓存即可。
打开:ThinkPHP/Extends/Model/AdvModel.class.php
将lazyWrite函数替换为下面的。protected function lazyWrite($guid,$step,$lazyTime) {
$cache= Cache::getInstance('',array("temp"=>TEMP_PATH.'lazy'));//缓存文件放在runtime/temp/lazy 目录下,可以自定义。
if(false !== ($value = $cache->get($guid))) { // 存在缓存写入数据
if(time()>$cache->get($guid.'_time')+$lazyTime) {
// 延时更新时间到了,删除缓存数据 并实际写入数据库
$cache->rm($guid);
$cache->rm($guid.'_time');
return $value+$step;
}else{
// 追加数据到缓存
$cache->set($guid,$value+$step);
return false;
}
}else{ // 没有缓存数据

$cache->set($guid,$step);
// 计时开始
$cache->set($guid.'_time',time());
return false;
}
}
收藏
zstxt1989
积分:6535 等级:LV5
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /