jaredsun 发表于 2013-2-7 02:02:52

PHP 数据缓存

今天有个以前smarty开发的网站,现在做个seo后台处理,考虑到访问量的原因,决定用缓存处理,最开始一直认为要用smarty的模板缓存缓存机制。最后讨论下发现。这是个数据缓存。脑袋也清晰许多。
首先需要两个读取和写入函数,uch里面有现成的
//读取文件内容function swritefile($filename, $writetext, $openmod='w') {    if(@$fp = fopen($filename, $openmod))   {      flock($fp, 2);      fwrite($fp, $writetext);      fclose($fp);      return true;    }      else   {      return false;    }}//获取文件内容function sreadfile($filename) {    $content = '';    if(function_exists('file_get_contents'))   {      @$content = file_get_contents($filename);    }   else   {      if(@$fp = fopen($filename, 'r'))      {            @$content = fread($fp, filesize($filename));            @fclose($fp);         }    }    return $content;}
2,然后,一个简单的缓存可以这样来处理
       $data_path='../data/seo_data/';   //缓存路径if(!file_exists($data_path)){mkdir($data_path);}$data_file = $data_path.$id.'.php'; //缓存文件名称,$id可以设置成字符串数字等$cache_time=filemtime($data_file);if(!file_exists($data_file) || (time()-$cache_time)>3600){      /*$list      这里显示需要缓存的数据(从数据库里面读出来等)      */      swritefile($data_file, serialize($list)); //序列化读入文件}else{$list = unserialize(sreadfile($data_file));//没过期且有缓存文件存在时,读缓存文件。}$list;//缓存过的值
(--end--)
页: [1]
查看完整版本: PHP 数据缓存