巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
赞助文档Help

简略适用的网站PHP缓存类实例

一佰互联网站建造(www.taishanly.com) 宣布日期 2020-04-29 09:01:08 阅读数: 97

缓存手艺在现实利用傍边利用很是普遍,能够有用加重对办事器数据库的拜候压力,进步运转速率。今朝良多CMS内容办理体系中频仍利用缓存机制来进步体系运转的效力。本文以一个简略适用的缓存类为例,赞助大师参考下缓存的机制与写法。

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

<?php  
/* 
用户须要事前界说的常量: 
_CachePath_    模板缓存途径 
_CacheEnable_    主动缓存机制是不是开启,未界说或为空,表现封闭主动缓存机制 
_ReCacheTime_    主动从头缓存距离时候,单元为秒,未界说或为空,表现封闭主动从头缓存 
*/  
class cache  
{ 
  var $cachefile;  
  var $cachefilevar;  
  function cache()  
  {  
    //天生以后页的Cache组文件名 $this->cachefilevar 及文件名 $this->cachefile  
    //静态页的参数差别对应的Cache文件也差别,可是每个静态页的一切Cache文件都有不异的文件名,只是扩大名差别  
    $s=array(".","/");$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);  
      }  
    }  
  }  
}  
?>

缓存类的利用:

<?php  
  define("_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开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。

相干消息more

22
11月
假造主机的供给商怎样遴选

假造主机(网站空间)遴选要点: 硬件方面: 1、机房地位,线路速率 是不是位于焦点节点。北京上海等地的高端机房,速率和不变性要较着优胜 2、服... >>概况

25
04月
Yii2框架完成登岸增加考证码功效示例

本文实例报告了Yii2框架完成登岸增加考证码功效。分享给大师供大师参考,详细以下:models中LoginForm.phppublic $v... >>概况

07
04月
用3个实在案例,告知你若何遴选合适本身的任务

本章节咱们经由过程三个实在案例来深度阐发若何找到合适本身的任务,外行业中稳步进步,不时进步,终究成为一位优异的设想师,取得行业承认,完成自我代价... >>概况

28
03月
MySQL 装置

简介:一切平台的 MySQL 下载地点为: MySQL 下载 。 遴选你须要的 MySQL Community Server 版本及对应的平... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站