激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - 簡單實用的網(wǎng)站PHP緩存類實例

簡單實用的網(wǎng)站PHP緩存類實例

2020-07-18 15:08PHP教程網(wǎng) PHP教程

這篇文章主要介紹了簡單實用的網(wǎng)站PHP緩存類,對于大家學(xué)習(xí)及理解緩存的機制與運行原理大有好處,需要的朋友可以參考下

緩存技術(shù)在實際使用當中應(yīng)用非常廣泛,可以有效減輕對服務(wù)器數(shù)據(jù)庫的訪問壓力,提高運行速度。目前很多CMS內(nèi)容管理系統(tǒng)中頻繁使用緩存機制來提高系統(tǒng)運行的效率。本文以一個簡單實用的緩存類為例,幫助大家參考下緩存的機制與寫法。

緩存文件cache.php代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php 
/*
用戶需要事先定義的常量:
_CachePath_    模板緩存路徑
_CacheEnable_    自動緩存機制是否開啟,未定義或為空,表示關(guān)閉自動緩存機制
_ReCacheTime_    自動重新緩存間隔時間,單位為秒,未定義或為空,表示關(guān)閉自動重新緩存
*/
class cache 
{
  var $cachefile
  var $cachefilevar
  function cache() 
  
    //生成當前頁的Cache組文件名 $this->cachefilevar 及文件名 $this->cachefile 
    //動態(tài)頁的參數(shù)不同對應(yīng)的Cache文件也不同,但是每一個動態(tài)頁的所有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醫(yī)院Cache文件組 
    while (false !== ($entry = $d->read())) 
    
      if (substr($entry,0,$strlen)==$this->cachefilevar) 
      
        if (!unlink(_CachePath_."/".$entry)) {echo "Cache目錄無法寫入";exit;} 
      
    
  
  //判斷是否已Cache過,以及是否需要Cache 
  function check() 
  
    //如果設(shè)置了緩存更新間隔時間 _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文件的內(nèi)容 
    if (_CacheEnable_) return readfile($file); 
    else return false; 
  
  //生成Cache 
  function write($output
  
    //返回當前頁的Cache 
    $file=_CachePath_."/".$this->cachefile; 
    //如果Cache功能開啟 
    if (_CacheEnable_) 
    
      //把輸出的內(nèi)容寫入Cache文件 
      $fp=@fopen($file,'w'); 
      if (!@fputs($fp,$output)) {echo "模板Cache寫入失敗";exit;} 
      @fclose($fp); 
      //如果設(shè)置了緩存更新間隔時間 _ReCacheTime_ 
      if (_ReCacheTime_+0>0) 
      
        //更新當前頁Cache的最后更新時間 
        $file=_CachePath_."/".$this->cachefilevar; 
        $fp=@fopen($file,'w'); 
        if (!@fwrite($fp,time())) {echo "Cache目錄無法寫入";exit;} 
        @fclose($fp); 
      
    
  
?>

緩存類的使用:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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); 
?> 
  此處為頁面內(nèi)容。。。。 
<?php 
    $template = ob_get_contents(); 
    $cache->write($template); 
  
?>

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: av噜噜噜噜 | 污视频在线看 | 一级一级一级一级毛片 | 久久精品一区二区三区国产主播 | 伦一区二区三区中文字幕v亚洲 | 亚洲小视频在线观看,com | 99久久精约久久久久久清纯 | 全黄裸片武则天艳史 | 成人一级视频在线观看 | 久久久久电影网站 | 精品999久久久 | 亚洲欧美国产高清va在线播放 | 国内精品伊人久久 | 久久久线视频 | 99欧美视频| 成人羞羞网站入口 | 久久亚洲春色中文字幕久久 | 91在线色| 国产乱子视频 | 一级做a爱片久久毛片a高清 | 久久久久久久免费精品 | 欧美极品欧美精品欧美视频 | 羞羞视频免费观看网站 | 成人毛片视频免费 | 在线天堂中文在线资源网 | 黄色片网站免费 | 欧美日韩中文字幕在线视频 | 午夜视频中文字幕 | zzzzzzzxxxxxx日本人 | 亚洲午夜久久久精品一区二区三区 | 亚洲第一综合色 | asian附近女人裸体pics | 国人精品视频在线观看 | 羞羞电影网 | 全免费午夜一级毛片真人 | 黄色男女视频 | 污片视频网站 | 精品一区二区三区毛片 | 羞羞网站在线看 | 欧美精品一区二区三区在线 | 国产精品久久久久久久久久久久久久久久 |