亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP文件頁面緩存類

2024-09-04 11:44:08
字體:
來源:轉載
供稿:網友

在php中緩存分類數據庫緩存,文件緩存和內存緩存,下面我來給各位同學詳細介紹PHP文件緩存類實現代碼,有需要了解的朋友可參考.

一個不錯的PHP文件頁面緩存類代碼如下:

  1. <?php     
  2. /*     
  3. * 緩存類    cache    
  4. * 作    者:多菜鳥    
  5. * 實    例:    
  6. */    
  7. /*include( "cache.php" );    
  8.      
  9. $cache = new cache(30);    
  10. $cache->cacheCheck();    
  11.      
  12. echo date("Y-m-d H:i:s");    
  13.      
  14. $cache->caching();  */ 
  15.  
  16. class cache {     
  17.   //緩存目錄     
  18.   var $cacheRoot        = "./cache/";     
  19.   //緩存更新時間秒數,0為不緩存     
  20.   var $cacheLimitTime   = 3;  
  21.   //緩存文件名     
  22.   var $cacheFileName    = "";     
  23.   //緩存擴展名     
  24.   var $cacheFileExt     = "php";     
  25.       
  26.   /*    
  27.    * 構造函數    
  28.    * int $cacheLimitTime 緩存更新時間    
  29.    */    
  30.   function cache( $cacheLimitTime ) {     
  31.     ifintval$cacheLimitTime ) )      
  32.       $this->cacheLimitTime = $cacheLimitTime;     
  33.     $this->cacheFileName = $this->getCacheFileName();     
  34.     ob_start();     
  35.   }     
  36.        
  37.   /*    
  38.    * 檢查緩存文件是否在設置更新時間之內    
  39.    * 返回:如果在更新時間之內則返回文件內容,反之則返回失敗    
  40.    */    
  41.   function cacheCheck(){     
  42.     iffile_exists$this->cacheFileName ) ) {     
  43.       $cTime = $this->getFileCreateTime( $this->cacheFileName );     
  44.       if$cTime + $this->cacheLimitTime > time() ) {     
  45.         echo file_get_contents$this->cacheFileName );     
  46.         ob_end_flush();     
  47.         exit;     
  48.       }     
  49.     }     
  50.     return false;     
  51.   }     
  52.       
  53.   /*    
  54.    * 緩存文件或者輸出靜態    
  55.    * string $staticFileName 靜態文件名(含相對路徑)    
  56.    */    
  57.   function caching( $staticFileName = "" ){     
  58.     if$this->cacheFileName ) {     
  59.       $cacheContent = ob_get_contents();     
  60.       //echo $cacheContent;     
  61.       ob_end_flush();     
  62.       
  63.       if$staticFileName ) {     
  64.           $this->saveFile( $staticFileName$cacheContent );     
  65.       }     
  66.       
  67.       if$this->cacheLimitTime )     
  68.         $this->saveFile( $this->cacheFileName, $cacheContent );     
  69.     }     
  70.   }     
  71.        
  72.   /*    
  73.    * 清除緩存文件    
  74.    * string $fileName 指定文件名(含函數)或者all(全部)    
  75.    * 返回:清除成功返回true,反之返回false    
  76.    */    
  77.   function clearCache( $fileName = "all" ) {     
  78.     if$fileName != "all" ) {     
  79.       $fileName = $this->cacheRoot . strtoupper(md5($fileName)).".".$this->cacheFileExt;     
  80.       iffile_exists$fileName ) ) {     
  81.         return @unlink( $fileName );     
  82.       }else return false;     
  83.     }     
  84.     if ( is_dir$this->cacheRoot ) ) {     
  85.       if ( $dir = @opendir( $this->cacheRoot ) ) {     
  86.         while ( $file = @readdir( $dir ) ) {     
  87.           $check = is_dir$file );     
  88.           if ( !$check )     
  89.           @unlink( $this->cacheRoot . $file );     
  90.         }     
  91.         @closedir$dir );     
  92.         return true;     
  93.       }else{     
  94.         return false;     
  95.       }     
  96.     }else{     
  97.       return false;     
  98.     }     
  99.   }     
  100.       
  101.   /*    
  102.    * 根據當前動態文件生成緩存文件名    
  103.    */    
  104.   function getCacheFileName() {     
  105.     return  $this->cacheRoot . strtoupper(md5($_SERVER["REQUEST_URI"])).".".$this->cacheFileExt;     
  106.   }     
  107.       
  108.   /*    
  109.    * 緩存文件建立時間    
  110.    * string $fileName   緩存文件名(含相對路徑)    
  111.    * 返回:文件生成時間秒數,文件不存在返回0    
  112.    */    
  113.   function getFileCreateTime( $fileName ) {     
  114.     if( ! trim($fileName) ) return 0;     
  115.       
  116.     iffile_exists$fileName ) ) {      
  117.       return intval(filemtime$fileName ));     
  118.     }else return 0;     
  119.   }     
  120.        
  121.   /*    
  122.    * 保存文件    
  123.    * string $fileName  文件名(含相對路徑)    
  124.    * string $text      文件內容    
  125.    * 返回:成功返回ture,失敗返回false    
  126.    */    
  127.   function saveFile($fileName$text) {     
  128.     if( ! $fileName || ! $text ) return false;     
  129.       
  130.     if$this->makeDir( dirname( $fileName ) ) ) {     
  131.       if$fp = fopen$fileName"w" ) ) {     
  132.         if( @fwrite( $fp$text ) ) {     
  133.           fclose($fp);     
  134.           return true;     
  135.         }else {     
  136.           fclose($fp);     
  137.           return false;     
  138.         }     
  139.       }     
  140.     }     
  141.     return false;     
  142.   }     
  143.       
  144.   /*    
  145.    * 連續建目錄    
  146.    * string $dir 目錄字符串    
  147.    * int $mode   權限數字    
  148.    * 返回:順利創建或者全部已建返回true,其它方式返回false    
  149.    */    
  150.   function makeDir( $dir$mode = "0777" ) {     
  151.     if( ! $dir ) return 0;     
  152.     $dir = str_replace"/", "/", $dir );    
  153.         
  154.     $mdir = "";    
  155.     foreachexplode"/"$dir ) as $val ) {    
  156.       $mdir .= $val."/";    
  157.       if$val == ".." || $val == "." || trim( $val ) == "" ) continue;     
  158.        //開源代碼Vevb.com 
  159.       if( ! file_exists$mdir ) ) {     
  160.         if(!@mkdir$mdir$mode )){     
  161.          return false;     
  162.         }     
  163.       }     
  164.     }     
  165.     return true;     
  166.   }     
  167. }     
  168. ?>  

上面使用算是頁面緩存了,每次訪問頁面的時候,都會先檢測相應的緩存頁面文件是否存在,如果不存在,就連接數據庫,得到數據,顯示頁面并同時生成緩存頁面文件,這樣下次訪問的時候頁面文件就發揮作用了,模板引擎和網上常見的一些緩存類通常有此功能.

給大家介紹一個Memcache緩存了,算是內存緩存了,代碼如下:

  1. <?php 
  2. $memcache = new Memcache; 
  3. $memcache->connect('localhost', 11211) or die ("Could not connect"); 
  4. $version = $memcache->getVersion(); 
  5. echo "Server's version: ".$version."n"
  6. $tmp_object = new stdClass; 
  7. $tmp_object->str_attr = 'test'
  8. $tmp_object->int_attr = 123; 
  9. $memcache->set('key'$tmp_object, false, 10) or die ("Failed to save data at the server"); 
  10. echo "Store data in the cache (data will expire in 10 seconds)n"
  11. $get_result = $memcache->get('key'); 
  12. echo "Data from the cache:n"
  13. var_dump($get_result); 
  14. ?> 

Memcached是高性能的,分布式的內存對象緩存系統,用于在動態應用中減少數據庫負載,提升訪問速度.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品亚州精品| 亚洲日本欧美中文幕| 亚洲国内精品在线| 青青草成人在线| 91精品国产99| 欧美日韩高清在线观看| 国产日本欧美一区二区三区在线| 欧美性受xxxx白人性爽| 97精品久久久中文字幕免费| 欧美网站在线观看| 亚洲色图50p| 日韩h在线观看| 欧美韩国理论所午夜片917电影| 伊人一区二区三区久久精品| 日本在线观看天堂男亚洲| 亚洲美女在线视频| 欧美成人免费网| 激情av一区二区| 日韩在线视频免费观看高清中文| 欧美一级电影久久| 国内精品视频一区| 亚洲男人第一av网站| 成人免费网视频| 亚洲激情 国产| 日本高清不卡在线| 欧美在线观看视频| 少妇高潮 亚洲精品| 久久国产精品久久久久久久久久| 欧美日本高清一区| 欧美视频在线视频| 91国语精品自产拍在线观看性色| 国产99视频精品免视看7| 欧美激情在线观看视频| 久久精品色欧美aⅴ一区二区| 久久久久久伊人| 中文字幕成人精品久久不卡| 成人中心免费视频| 国产97人人超碰caoprom| 国产免费观看久久黄| 欧美激情一二三| 亚洲第一国产精品| 久久影视电视剧凤归四时歌| 欧美国产亚洲精品久久久8v| 人人澡人人澡人人看欧美| 欧美国产日韩一区二区在线观看| 国产精品国产三级国产专播精品人| 久久艹在线视频| 亚洲人成在线观看| 国产精品成人免费视频| 韩曰欧美视频免费观看| 亚洲国产高清高潮精品美女| 国产成人一区二区在线| 成人有码在线播放| 欧美激情aaaa| 亚洲精选一区二区| 粉嫩av一区二区三区免费野| 91亚洲国产成人久久精品网站| 亚洲最大福利网站| 欧美成人精品激情在线观看| 国产在线久久久| 91在线视频免费| 美日韩精品视频免费看| 国产亚洲欧洲高清一区| 一区二区三区视频免费在线观看| 欧美亚洲伦理www| 国产精品露脸av在线| 日韩欧美综合在线视频| 国产精品老牛影院在线观看| 久久国产精品久久久| 中文日韩在线观看| 日韩欧美成人免费视频| 久久亚洲精品一区二区| 久久久999国产| 欧美亚洲视频一区二区| 欧美成人国产va精品日本一级| 久久久人成影片一区二区三区观看| 午夜精品国产精品大乳美女| 懂色av中文一区二区三区天美| 亚洲精品永久免费| 奇米成人av国产一区二区三区| 97视频在线免费观看| 日本19禁啪啪免费观看www| 岛国av一区二区三区| 久久香蕉精品香蕉| 亚洲精品不卡在线| xvideos国产精品| 国产亚洲精品成人av久久ww| 国产精品电影网站| 美女久久久久久久| 亚洲欧美国产精品va在线观看| 欧美特级www| 亚洲伊人久久综合| 亚洲欧美日韩区| 国产成人小视频在线观看| 综合136福利视频在线| 在线免费看av不卡| 中文字幕亚洲第一| 上原亚衣av一区二区三区| 欧美激情精品久久久久久免费印度| 青草成人免费视频| 久久久久久久久久久免费精品| 欧美野外wwwxxx| 欧美日韩一区二区三区| 亚洲xxxxx电影| 亚洲色图第一页| 欧美人在线视频| 亚洲人成电影网站色xx| 日本精品视频网站| 日本免费久久高清视频| 国产日韩欧美中文| 国产精品久久久久久久久借妻| 亚洲久久久久久久久久| 欧美激情a在线| 欧美一级视频在线观看| 欧美日韩综合视频| 欧美成人免费一级人片100| 欧美成人精品三级在线观看| 92福利视频午夜1000合集在线观看| 亚洲欧美变态国产另类| 性欧美视频videos6一9| 久久精品99国产精品酒店日本| 亚洲欧美日韩一区在线| 欧美天堂在线观看| 亚洲国产欧美在线成人app| 精品久久久久久亚洲精品| 欧美日韩免费区域视频在线观看| www.精品av.com| 岛国视频午夜一区免费在线观看| 亚洲美女在线视频| 日韩av电影中文字幕| 日韩在线观看免费全集电视剧网站| 欧美日韩午夜剧场| 亚洲国内精品在线| 成人网欧美在线视频| 日韩在线视频导航| 另类专区欧美制服同性| 91在线播放国产| 亚洲女在线观看| 亚洲精品91美女久久久久久久| 欧美电影电视剧在线观看| 国产午夜精品视频| 欧美影院在线播放| 亚洲精品欧美一区二区三区| 欧美性xxxx极品高清hd直播| 日韩欧美在线视频免费观看| 亚洲欧美国产精品专区久久| 欧美成人高清视频| 国产精品扒开腿爽爽爽视频| 日韩视频在线观看免费| 久久久久久久久久亚洲| 日韩免费看的电影电视剧大全| 久久久久久中文字幕| 欧美一级视频在线观看| 欧美做爰性生交视频| 久久久久久免费精品| 精品无码久久久久久国产| 久久免费精品日本久久中文字幕| 亚洲日本欧美中文幕| 亚洲三级黄色在线观看| 亚洲丝袜在线视频| 日韩精品极品视频免费观看| 亚洲伦理中文字幕| 欧美日本啪啪无遮挡网站| 精品国产欧美一区二区五十路|