相思资源网 Design By www.200059.com

缓存技术在实际使用当中应用非常广泛,可以有效减轻对服务器数据库的访问压力,提高运行速度。目前很多CMS内容管理系统中频繁使用缓存机制来提高系统运行的效率。本文以一个简单实用的缓存类为例,帮助大家参考下缓存的机制与写法。

缓存文件cache.php代码如下:

<".","/");$r=array("_","");  
    $this->cachefilevar=str_replace($s,$r,$_SERVER["SCRIPT_NAME"])."_".$_GET[_ActionVar_];  
    $this->cachefile=$this->cachefilevar.".".md5($_SERVER["REQUEST_URI"]);  
  }  
  //删除当前页/模块的缓存  
  function delete()  
  {  
    //删除当前页的缓存  
    $d = dir(_CachePath_);  
    $strlen=strlen($this->cachefilevar);  
    //返回当前页的所有太原264医院Cache文件组  
    while (false !== ($entry = $d->read()))  
    {  
      if (substr($entry,0,$strlen)==$this->cachefilevar)  
      {  
        if (!unlink(_CachePath_."/".$entry)) {echo "Cache目录无法写入";exit;}  
      }  
    }  
  }  
  //判断是否已Cache过,以及是否需要Cache  
  function check()  
  {  
    //如果设置了缓存更新间隔时间 _ReCacheTime_  
    if (_ReCacheTime_+0>0) 
    {  
      //返回当前页Cache的最后更新时间  
      $var=@file(_CachePath_."/".$this->cachefilevar);$var=$var[0];  
      //如果更新时间超出更新间隔时间则删除Cache文件  
      if (time()-$var>_ReCacheTime_)  
      {  
        $this->delete();$ischage=true;  
      }  
    }  
    //返回当前页的Cache  
    $file=_CachePath_."/".$this->cachefile;  
    //判断当前页Cache是否存在 且 Cache功能是否开启  
    return (file_exists($file) and _CacheEnable_ and !$ischange);  
  }  
  //读取Cache  
  function read()  
  {  
    //返回当前页的Cache  
    $file=_CachePath_."/".$this->cachefile;  
    //读取Cache文件的内容  
    if (_CacheEnable_) return readfile($file);  
    else return false;  
  }  
  //生成Cache  
  function write($output)  
  {  
    //返回当前页的Cache  
    $file=_CachePath_."/".$this->cachefile;  
    //如果Cache功能开启  
    if (_CacheEnable_)  
    {  
      //把输出的内容写入Cache文件  
      $fp=@fopen($file,'w');  
      if (!@fputs($fp,$output)) {echo "模板Cache写入失败";exit;}  
      @fclose($fp);  
      //如果设置了缓存更新间隔时间 _ReCacheTime_  
      if (_ReCacheTime_+0>0)  
      {  
        //更新当前页Cache的最后更新时间  
        $file=_CachePath_."/".$this->cachefilevar;  
        $fp=@fopen($file,'w');  
        if (!@fwrite($fp,time())) {echo "Cache目录无法写入";exit;}  
        @fclose($fp);  
      }  
    }  
  }  
}  
"htmlcode">
<"_CachePath_","./cache/");  
  define("_CacheEnable_","1");  
  define("_ReCacheTime_","43200");  
  include('cache.php');  
  $cache=new cache();  
  if ($cache->check())  
  {  
    $template=$cache->read();  
  } 
  else  
  {  
    ob_start();  
    ob_implicit_flush(0);  
?>  
  此处为页面内容。。。。  
<?php  
    $template = ob_get_contents();  
    $cache->write($template);  
  }  
?>
标签:
PHP,缓存类

相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com

评论“简单实用的网站PHP缓存类实例”

暂无简单实用的网站PHP缓存类实例的评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。