php缓存技术详谈

http://tech.ddvip.com   2007年08月25日    社区交流

内容摘要:由于网站的数据越来越多,我们渴求能更快速的调用数据,不必要每次都从数据库掉,我们可以从其他的地方,比方一个文件,或者某个内存地址,这就是php的缓存技术,也就是Cache技术.

  这个方法输出错误信息.

functionget_url(){
    if(!isset($_SERVER['REQUEST_URI'])){
        $url=$_SERVER['REQUEST_URI'];
    }else{
        $url=$_SERVER['SCRIPT_NAME'];
        $url.=(!empty($_SERVER['QUERY_STRING']))?'?'.$_SERVER['QUERY_STRING']:'';
    }
    return$url;
}

  这个方法返回当前url的信息,这是我看国外很多人的cms系统这样做,主要是缓存x.php?page=1,x.php?page=2,等这种文件的,这里列出是为了扩展的这个cache类功能的.

functioncache_page($pageurl,$pagedata){
  if(!$fso=fopen($pageurl,'w')){
    $this->warns('无法打开缓存文件.');//trigger_error
    returnfalse;
  }
  if(!flock($fso,LOCK_EX)){//LOCK_NB,排它型锁定
    $this->warns('无法锁定缓存文件.');//trigger_error
    returnfalse;
  }
  if(!fwrite($fso,$pagedata)){//写入字节流,serialize写入其他格式
    $this->warns('无法写入缓存文件.');//trigger_error
    returnfalse;
  }
  flock($fso,LOCK_UN);//释放锁定
  fclose($fso);
  returntrue;
}

  cache_page方法分别传入的是缓存的文件名称和数据,这是把数据写到文件里的方法,先用fopen打开文件,然后调用句柄锁定这个文件,然后用fwrite写入文件,最后释放这个句柄,任何一步发生错误将抛出错误.您可能看到这个注释

来源:蓝色理想    作者:5do8    责编:豆豆技术应用

正在加载评论...