background image

 

PHP 类:PHP 简单的缓存文件类介绍

    PHP 由于它的强大和可伸缩性,近几年来得到长足的发展,PHP 相比传统的 ASP 网站,
在速度上有绝对的优势,想 mssql 转 6 万条数据 PHP 如需要 40 秒,ASP 不下 2 分钟.但是,
由于网站的数据越来越多,我们渴求能更快速的调用数据,不必要每次都从数据库掉,我们
可以从其他的地方,比方一个文件,或者某个内存地址,这就是 PHP 的缓存技术,也就是
Cache 技术。
  分析深入
  一般来说,缓存的目的是把数据放在一个地方让访问的更快点,毫无疑问,内存是最快
的,但是,几百 M 的数据能往内存放么?这不现实,当然,有的时候临时放如服务器缓存,如
ob_start()这个缓存页面开启的话在发送文件头之前页面内容都被缓存在内存中,知道等

 

页面输出自动清楚或者等待 ob_get_contents 的返回,或者被 ob_end_clean 显示的清
除,这在静态页面的生成中能很好的利用,在模板中能得到很好的体现。
  另外,在 ASP 中有一对象 application,可以保存公用的参数,这也算点缓存,但在 PHP,
我至今没看到开发者产出这种对象,的确,没必要.ASP.NET 的页面缓存技术就用的是
viewstate,而 cache 就是文件关联,(不一定准确),文件被修改,更新缓存,文件没被修改而
且不超时(注释 1),就读取缓存,返回结果,就是这个思路,看看这个源码:
<?PHP   
class cache{    
        private $cache_dir;    
        private $expireTime=180;//

 

缓存的时间是 60      

        function __construct($cache_dirname){    
                if(!@is_dir($cache_dirname)){    
                        if(!@mkdir($cache_dirname,0777)){    
                                $this->warn(‘缓存文件不存在而且不能创建,需要手动创建.’);    
                                return false;    
                        }    
                }    
                $this->cache_dir = $cache_dirname;    
        }   
         
        function __destruct(){    
                echo ‘Cache class bye.’;    
        }    
        
        function get_url() {    
                if (!isset($_SERVER['REQUEST_URI'])) {    
                        $url = $_SERVER['REQUEST_URI'];    
                }else{