內容緩存輸出 PEAR cache
接下來我們開始探索更常用的緩存技術
下面是一個沒有使用緩存的PHP小程序
pear_content_cache
<?php
echo "這是內容
echo "當前時間是"
?>
上面這個程序非常簡單
pear_content_cache
<?php
require_once
//設置緩存目錄
$cacheDir =
$cache = new Cache_Output(
//如果nocache變量為空
//如果想獲得最新的內容
if (empty($_REQUEST[
{
// 建立一個獨一的cache標識
// 請求+Cookie信息
$cache_id = $cache
}
else
{
//想獲得最新的內容
$cache_id = null;
}
//看cache ID對應的緩存內容是否可用
if ($content = $cache
{
//緩存已存在
echo $content;
exit();
}
// 緩存中不存在該內容
echo "這是內容
echo "當前時間是"
// 把內容寫入緩存
echo $cache
?>
分別刷新這兩個文件
對於pear_content_cache
總結一下PEAR內容緩存類的使用
require_once
$cacheDir =
確認這個目錄是可寫的
$cache = new Cache_Output(
第一個參數表示我們使用基於“文件”方式的緩存
$cache_id = $cache
這裡$cache對象的generateID()方法通過提供一個信息數組(URL
if ($content = $cache
{
echo $content;
exit();
}
echo $cache
函數緩存輸出 PEAR cache
PEAR除了可以對輸出的內容進行緩存處理外
下面我們實現對一個執行起來很慢的函數slowFunction()的緩沖調用
<?php
require_once
$cacheDir =
$cache = new Cache_Function(
$arr = array(
$cache
echo
$arr = array(
slowFunction($arr);
function slowFunction($arr = null)
{
echo "一個執行起來很慢的函數 :( <br>";
echo "當前時間是 "
foreach ($arr as $fruit)
{
echo "我吃了一個 $fruit <br>";
}
)
?>
以下是示例的腳本執行結果
一個執行起來很慢的函數
當前時間是 Jul
我吃了一個 蘋果
我吃了一個 梨
我吃了一個 西瓜
一個執行起來很慢的函數 :(
當前時間是 Jul
我吃了一個 蘋果
我吃了一個 梨
我吃了一個 西瓜
代碼中
這裡
From:http://tw.wingwit.com/Article/program/PHP/201311/21165.html