一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - 簡(jiǎn)單實(shí)用的網(wǎng)站PHP緩存類(lèi)實(shí)例

簡(jiǎn)單實(shí)用的網(wǎng)站PHP緩存類(lèi)實(shí)例

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

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

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

緩存文件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 
/*
用戶(hù)需要事先定義的常量:
_CachePath_    模板緩存路徑
_CacheEnable_    自動(dòng)緩存機(jī)制是否開(kāi)啟,未定義或?yàn)榭眨硎娟P(guān)閉自動(dòng)緩存機(jī)制
_ReCacheTime_    自動(dòng)重新緩存間隔時(shí)間,單位為秒,未定義或?yàn)榭眨硎娟P(guān)閉自動(dòng)重新緩存
*/
class cache 
{
  var $cachefile
  var $cachefilevar
  function cache() 
  
    //生成當(dāng)前頁(yè)的Cache組文件名 $this->cachefilevar 及文件名 $this->cachefile 
    //動(dòng)態(tài)頁(yè)的參數(shù)不同對(duì)應(yīng)的Cache文件也不同,但是每一個(gè)動(dòng)態(tài)頁(yè)的所有Cache文件都有相同的文件名,只是擴(kuò)展名不同 
    $s=array(".","/");$r=array("_",""); 
    $this->cachefilevar=str_replace($s,$r,$_SERVER["SCRIPT_NAME"])."_".$_GET[_ActionVar_]; 
    $this->cachefile=$this->cachefilevar.".".md5($_SERVER["REQUEST_URI"]); 
  
  //刪除當(dāng)前頁(yè)/模塊的緩存 
  function delete() 
  
    //刪除當(dāng)前頁(yè)的緩存 
    $d = dir(_CachePath_); 
    $strlen=strlen($this->cachefilevar); 
    //返回當(dāng)前頁(yè)的所有太原264醫(yī)院Cache文件組 
    while (false !== ($entry = $d->read())) 
    
      if (substr($entry,0,$strlen)==$this->cachefilevar) 
      
        if (!unlink(_CachePath_."/".$entry)) {echo "Cache目錄無(wú)法寫(xiě)入";exit;} 
      
    
  
  //判斷是否已Cache過(guò),以及是否需要Cache 
  function check() 
  
    //如果設(shè)置了緩存更新間隔時(shí)間 _ReCacheTime_ 
    if (_ReCacheTime_+0>0)
    
      //返回當(dāng)前頁(yè)Cache的最后更新時(shí)間 
      $var=@file(_CachePath_."/".$this->cachefilevar);$var=$var[0]; 
      //如果更新時(shí)間超出更新間隔時(shí)間則刪除Cache文件 
      if (time()-$var>_ReCacheTime_) 
      
        $this->delete();$ischage=true; 
      
    
    //返回當(dāng)前頁(yè)的Cache 
    $file=_CachePath_."/".$this->cachefile; 
    //判斷當(dāng)前頁(yè)Cache是否存在 且 Cache功能是否開(kāi)啟 
    return (file_exists($file) and _CacheEnable_ and !$ischange); 
  
  //讀取Cache 
  function read() 
  
    //返回當(dāng)前頁(yè)的Cache 
    $file=_CachePath_."/".$this->cachefile; 
    //讀取Cache文件的內(nèi)容 
    if (_CacheEnable_) return readfile($file); 
    else return false; 
  
  //生成Cache 
  function write($output
  
    //返回當(dāng)前頁(yè)的Cache 
    $file=_CachePath_."/".$this->cachefile; 
    //如果Cache功能開(kāi)啟 
    if (_CacheEnable_) 
    
      //把輸出的內(nèi)容寫(xiě)入Cache文件 
      $fp=@fopen($file,'w'); 
      if (!@fputs($fp,$output)) {echo "模板Cache寫(xiě)入失敗";exit;} 
      @fclose($fp); 
      //如果設(shè)置了緩存更新間隔時(shí)間 _ReCacheTime_ 
      if (_ReCacheTime_+0>0) 
      
        //更新當(dāng)前頁(yè)Cache的最后更新時(shí)間 
        $file=_CachePath_."/".$this->cachefilevar; 
        $fp=@fopen($file,'w'); 
        if (!@fwrite($fp,time())) {echo "Cache目錄無(wú)法寫(xiě)入";exit;} 
        @fclose($fp); 
      
    
  
?>

緩存類(lèi)的使用:

?
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); 
?> 
  此處為頁(yè)面內(nèi)容。。。。 
<?php 
    $template = ob_get_contents(); 
    $cache->write($template); 
  
?>

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲AV久久无码精品九号软件 | 国产乱妇无码大片在线观看 | 24adc年龄18岁欢迎大驾光临 | 欧美不卡一区二区三区 | 日本三级免费网站 | 国产综合欧美日韩视频一区 | 国产成人精品一区 | 四虎成人免费视频 | 亚洲 欧美 国产 综合 在线 | 国产精品久久久久影视不卡 | 爱爱调教 | 成人日b视频| 美女的隐私脱裤子无遮挡 | 久久理论片迅播影院一级 | 午夜免费啪视频观看视频 | 精品国产综合 | 国产一级毛片潘金莲的奶头 | free极度另类性欧美 | 国产美女极品免费视频 | 网址在线观看你懂我意思吧免费的 | 精品久久香蕉国产线看观看亚洲 | 吉川爱美与黑人解禁 | 国产亚洲人成网站天堂岛 | 成人小视频在线观看 | 日本免费在线播放 | 色婷婷婷丁香亚洲综合不卡 | 五月天色综合 | 91视频免费网站 | 好姑娘在线完整版视频 | 亚洲电影第1页 | 亚洲欧美日韩高清 | 亚洲大尺码 | 国产成人在线影院 | 国产精品久久久久久久久免费hd | 美女脱衣有肉 | 日韩资源| 国产小视频免费看 | 欧美视频久久 | 99色在线观看 | 嫩草影院精品视频在线观看 | 欧洲vodafonewi精品 |