程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PEAR教程(二)--Pear的Cache介紹

PEAR教程(二)--Pear的Cache介紹

編輯:PHP綜合

前面介紹了pear的安裝,今天開始介紹pear的幾個知名的package之一,如果有不清楚的地方請站內搜索“PEAR教程”獲取前面的教程!

今天我們要介紹的是PEAR的Cache_Lite包,做web的說到提速眼睛瞪大的程度絕不亞於男人見到絕色美女時眼睛所瞪大的程度,因此,我這裡第一個要介紹的就是PEAR的Cache_lite包,利用這個package可以根據你的需要緩存網頁的任何一個部分,從而大大的提高了頁面的生成和載入速度!

首先去Pear的List Packages下載Cache_Lite這個安裝包,寫這個教程的時候,穩定的版本是1.7.2,所以我們就下載這個版本,下載下來後解壓縮,然後將文件放置在PEAR的根目錄下(文件目錄如何組織,後面有介紹),然後我們去manual對應的章節看看如何使用。那些關於包的介紹你可以先看看,我們這裡沒有前戲,直接切入主題,下面是Cache_Lite::get()的例子。我們就從這個例子入手,我在例子中增加了中文的注釋

require_once"Cache/Lite.php";//這裡是相對PEAR的地址,找到剛才下載的包中Lite.php這個文件後你就應該知道如何部署這個文件夾了!
$options=array(
'cacheDir'=>'/tmp/',//這裡是Cache的路徑,最好用絕對路徑,我們的例子中將會有說明
'lifeTime'=>7200,//緩存的失效時間,秒為單位
'pearErrorMode'=>CACHE_LITE_ERROR_DIE//報錯模式
);
$cache=newCache_Lite($options);//參數設置完之後建立緩存
if($data=$cache->get('id_of_the_page')){//如果id=id_of_the_page這個緩存存在的話,則直接將緩存數據echo出來
// Cache hit !
// Content is in $data
// (...)
}else{//緩存不存在,則生成緩存
// No valid cache found (you have to make and save the page)
// (...)
}

看了上面的這個例子,是不是發現很簡單?其實緩存的關鍵之處不在於如何生成和刪除緩存,而在於如何平衡緩存靜止和動態的關系,如何在適當的時候重建緩存。下面我開始舉例,讓大家體會到緩存的好處!,請在tutor(我們教程中的例子對應的根目錄)下建立文件cache,*nix操作系統請設置屬性為0777,然後在tutor文件夾下建立cache.php,輸入下面的代碼

< ?php
require_once"config.php";
require_once"Cache/Lite.php";
//下面的代碼是計算頁面執行時間,和cache無關
functionget_microtime()
  {
    list($usec,$sec)=explode(' ',microtime());
    return((float)$usec+(float)$sec);
  }
$s= get_microtime();
//下面是緩存的設置
$options=array(
  'cacheDir'=> WEB_DIR."/cache/",
    //請在tutor(我們教程中的例子對應的根目錄)
    //下建立文件cache,
    //*nix操作系統請設置屬性為0777
  'lifeTime'=>10,//10秒失效時間
  'pearErrorMode'=> CACHE_LITE_ERROR_DIE
);
$cache=newCache_Lite($options);
$cache_id='cache';//id一定要唯一
//否則會和別人的cache出現沖突
if($data=$cache->get($cache_id)){
//data是獲取數據的結果,如果緩存存在並且沒有過期,
//直接取出數據
  echo$data;
}else{
  //否則我們建立緩存
  //下面我們故意用循環來耗時
    while($i<10000000)
        $i++ ;
  $data='緩存建立的

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved