日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

PHP程序加速探索之緩存輸出

瀏覽:196日期:2024-02-06 13:11:01

內容緩存輸出 PEAR cache

接下來我們開始探索更常用的緩存技術,這也是本文的重點部份。首先我們使用PEAR中的cache包。PEAR可以將內容緩存于文件,數據庫或者內存中,我們以文件為例。

下面是一個沒有使用緩存的PHP小程序:

pear_content_cache1.php<?php  echo '這是內容。<P>';  echo '當前時間是' . date('M-d-Y H:i:s A', time()) . '<BR>'; ?>

上面這個程序非常簡單,現在我們為其加上緩存。

pear_content_cache2.php

<?php  require_once 'Cache/Output.php';

 //設置緩存目錄,必須是可寫的  $cacheDir = './pear_cache';  $cache = new Cache_Output('file',array('cache_dir' => $cacheDir));

 //如果nocache變量為空,使用緩存中的內容  //如果想獲得最新的內容,就要賦值給nocache變量  if (empty($_REQUEST['nocache']))  { // 建立一個獨一的cache標識 // 請求+Cookie信息 $cache_id = $cache->generateID(array('url' => $_REQUEST,'post' =>$_POST,'cookies' => $HTTP_COOKIE_VARS));  }  else  { //想獲得最新的內容,ID為空 $cache_id = null;  }

 //看cache ID對應的緩存內容是否可用  if ($content = $cache->start($cache_id))  { //緩存已存在,直接輸出,并結束腳本 echo $content; exit();  }

 // 緩存中不存在該內容,生成新內容并寫入緩存  echo '這是內容。<P>';  echo '當前時間是' . date('M-d-Y H:i:s A', time()) . '<BR>';

 // 把內容寫入緩存  echo $cache->end(); ?>

分別刷新這兩個文件,你會發現pear_content_cache1.php中的“當前時間是”這一行中的時間是隨著刷新而變化的,而pear_content_cache2.php中的這一行則不變。這是由于pear_content_cache2.php使用了緩存,將用戶請求的內容存入靜態文件中。當用戶再次請求時,它直接從文件中輸出,而不需要用程序動態生成內容。

對于pear_content_cache2.php,如果用戶想要讀取最新的信息,而不是緩存中成舊的信息。那么可以用http://…/pear_content_cache2.php?nocache=1 來訪問,這將禁用緩存功能。刷新一下看看,你將發現時間會隨之變化。

總結一下PEAR內容緩存類的使用:

1.包含PEAR包 要注意設對路徑。 2.包含Output.php中的cache類

require_once 'Cache/Output.php';

3.設置緩存目錄

$cacheDir = './pear_cache';

確認這個目錄是可寫的。Cache數據將會寫入這個目錄的子目錄中。

4.建立一個輸出緩存對象

$cache = new Cache_Output('file',array('cache_dir' => $cacheDir));

第一個參數表示我們使用基于“文件”方式的緩存,第二個參數是一個與緩存目錄相關聯的數組。

5.產生一個唯一的cache ID

$cache_id = $cache->generateID(array('url' => $_REQUEST,'post' =>$_POST,'cookies' => $HTTP_COOKIE_VARS));

這里$cache對象的generateID()方法通過提供一個信息數組(URL, HTTP POST data, 和 HTTP cookie)來獨一無二地標識這個請求,與其它請求區分開來。

6.增加一個邏輯判斷語句看是否對應于cacheID的緩存數據是否已經存在,如果存在,獲取數據并結束腳本。

if ($content = $cache->start($cache_id)) {  echo $content;  exit(); }

7. 將產生內容的代碼放在以上邏輯語句之后,并結束使用cache對象。

echo $cache->end();

函數緩存輸出 PEAR cache

PEAR除了可以對輸出的內容進行緩存處理外,還可以將對某個函數的調用結果緩存起來。這是個很有趣的功能,如果你的程序要頻繁使用到某個函數,而且調用的結果相同的話,我建議你不妨試試,特別是當這個函數運行起來比較慢的時候。

下面我們實現對一個執行起來很慢的函數slowFunction()的緩沖調用。

<?php  require_once 'Cache/Function.php';

 $cacheDir = './pear_cache/';  $cache = new Cache_Function('file',array('cache_dir' => $cacheDir));  $arr = array('蘋果', '梨','西瓜');  $cache->call('slowFunction', $arr);  echo '<BR>';

 $arr = array('蘋果', '梨','西瓜');  slowFunction($arr);

 function slowFunction($arr = null)  { echo '一個執行起來很慢的函數 :( <br>'; echo '當前時間是 ' . date('M-d-Y H:i:s A', time()) . '<br>'; foreach ($arr as $fruit) {  echo '我吃了一個 $fruit <br>'; }  ) ?>

以下是示例的腳本執行結果:

一個執行起來很慢的函數

當前時間是 Jul-28-2004 17:15:57 PM我吃了一個 蘋果 我吃了一個 梨 我吃了一個 西瓜

一個執行起來很慢的函數 :( 當前時間是 Jul-28-2004 17:17:55 PM我吃了一個 蘋果 我吃了一個 梨 我吃了一個 西瓜

代碼中,Cache/Function.php類用來執行函數緩沖功能。$cache變量是一個Cache_Function對象,使用基于文件的函數緩存,存入$cacheDir目錄。要緩存一個函數調,Cache_Function對象$cache的call()方法要像這樣使用:$cache->call(‘slowFunction’, $arr);

這里,slowFunction()函數被調用,參數為一個數組$arr,這個函數被緩存在$cacheDir目錄下的一個文件里。任何在此之后的對這個函數的調用,將會由$cache->call()返回該函數執行的結果。 函數緩存和使用方法和內容緩存很相似,不再多說,具體請查看PEAR手冊。

標簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美1区免费| 亚洲欧美在线综合| 久久亚洲一区| 免费精品一区| 视频一区中文字幕国产| 日韩和欧美一区二区| 亚洲一区二区三区四区五区午夜| 亚洲精品字幕| 亚洲一级特黄| 婷婷成人基地| 久久精品一区二区国产| 在线精品观看| 欧美专区在线| 天堂va在线高清一区| 水蜜桃久久夜色精品一区| 国产视频一区欧美| 日本少妇精品亚洲第一区| 国产精品日本一区二区不卡视频 | 中日韩男男gay无套| 国产日韩欧美三区| 国产亚洲精品久久久久婷婷瑜伽| 四虎精品永久免费| 欧美高清不卡| 国产精品玖玖玖在线资源| 欧美国产91| 日韩国产欧美| 免费视频一区三区| 日韩中文首页| 欧美搞黄网站| 一区二区三区四区精品视频| 免费国产自久久久久三四区久久| av亚洲在线观看| 中文字幕av亚洲精品一部二部| 国产激情综合| 国内亚洲精品| 日本亚洲欧美天堂免费| 久久精品国产一区二区| 精品视频一二| 日韩欧美一区二区三区在线观看 | 国产欧美精品| 久久精品一区二区国产| 久久久久免费| 国产精品资源| 岛国av免费在线观看| 成人在线免费观看网站| 美女毛片一区二区三区四区| 日本不卡视频一二三区| 国产毛片精品久久| 丝袜美腿诱惑一区二区三区 | 亚洲精品成人一区| 久久精品亚洲一区二区| 久久福利一区| 国产麻豆一区| 美女国产精品| 国产女人18毛片水真多18精品| 亚洲www啪成人一区二区| 日韩中文字幕一区二区高清99| 天堂资源在线亚洲| 欧美国产专区| 国产视频久久| 激情久久久久久久| 日韩一区三区| 在线精品亚洲欧美日韩国产| 日韩激情综合| 亚洲婷婷丁香| 日韩国产在线观看| 免费中文字幕日韩欧美| 美女少妇全过程你懂的久久| 国产精品专区免费| 亚洲精品伊人| 日韩午夜av| 伊人影院久久| 亚洲欧美网站在线观看| 狠狠爱www人成狠狠爱综合网| 少妇久久久久| 欧美jjzz| 亚洲爱爱视频| 在线成人动漫av| 国产亚洲毛片在线| 日本一不卡视频| 蜜臀久久99精品久久久画质超高清| 亚洲欧美日韩国产一区| 日韩在线观看一区二区三区| 美女网站久久| 亚洲欧美日韩精品一区二区| 老司机精品久久| 亚久久调教视频| 日韩精品三级| 欧美精品导航| 久久精品国产99久久| 亚洲精品人人| 国产精品手机在线播放| 黄在线观看免费网站ktv| 欧美网站在线| 久久a爱视频| 中文一区一区三区高中清不卡免费| 99久久婷婷这里只有精品| 亚洲欧美日韩综合国产aⅴ| 亚洲激情不卡| 日韩一区二区三区精品| 高清一区二区| 亚洲精品系列| 精品国产成人| 欧美日韩日本国产亚洲在线| 欧美精品影院| 1000部精品久久久久久久久| 日韩一区二区三区精品视频第3页| 久久三级毛片| 天堂av在线一区| 国产日韩欧美一区在线| 1000部精品久久久久久久久| 国产九一精品| 日韩高清一区二区| 99精品美女| 国产精品色在线网站| 亚洲精选av| 欧美aa国产视频| 精品久久久亚洲| 青青草国产精品亚洲专区无| 欧美99久久| 日韩高清在线观看一区二区| 亚洲精品在线观看91| 日韩欧美二区| 欧美www视频在线观看| 日韩av一区二区三区| 久久xxxx| 噜噜噜躁狠狠躁狠狠精品视频| 欧美日韩国产免费观看| 婷婷激情一区| 麻豆精品国产91久久久久久| 久久99免费视频| 国产欧美视频在线| 国产毛片精品| 欧美国产先锋| 成人午夜亚洲| 久久99久久人婷婷精品综合| 久久国产人妖系列| 国产亚洲第一伦理第一区| 97久久超碰| 另类欧美日韩国产在线| 免费看一区二区三区| 国产中文字幕一区二区三区| 久久久男人天堂| 亚洲v在线看| 免费欧美一区| 在线视频精品| 777久久精品| 福利一区二区三区视频在线观看| 久久精品一区二区三区中文字幕| 日韩电影免费网址| 欧美精品九九| 日本伊人久久| 久久精品欧洲| 欧洲激情综合| 国产亚洲一卡2卡3卡4卡新区| 精品国产aⅴ| 久久久久亚洲| 亚洲精品影视| 欧美日韩免费看片| 在线精品视频一区| 日韩精品一二区| 蜜桃精品视频| 黄色亚洲大片免费在线观看| 麻豆精品视频在线观看免费| 国产成人免费| 男人的天堂亚洲一区| 久久av国产紧身裤| 午夜在线精品| 91嫩草亚洲精品| 日本91福利区| 欧美~级网站不卡| 久久久国产精品网站| 在线观看精品| 国产精品一区二区99| 亚州av乱码久久精品蜜桃| 国产亚洲在线观看| 日韩精品欧美成人高清一区二区| 日韩啪啪电影网| 欧美亚洲网站| 99在线精品免费视频九九视| 91精品日本| 欧美特黄一级| 久久精品国产www456c0m| 国产欧美日韩一级| 成人精品动漫一区二区三区| 亚洲色图国产| 国产视频欧美| 午夜精品成人av| 国产精品xxx在线观看| 日韩精品一二区| 精品在线网站观看| 午夜久久av| 尤物在线精品| 国产乱人伦精品一区| 亚洲电影在线一区二区三区| 欧美国产美女| 国产精品久久久久av电视剧| 午夜宅男久久久| 亚洲高清二区| 欧美精品资源|