大家會問什麼是緩衝!能幹什麼!其實緩衝相當於記憶體。儲存一段時間!
緩衝就是我們執行東西時候不用在執行資料庫了。直接執行我們的緩衝就OK了
一般來說,緩衝的目的是把資料放在一個地方讓訪問的更快點,毫無疑問,記憶體是最快的,但是,幾百M的資料能往記憶體放麼?這不現實,當然,有的時候臨時放如伺服器緩衝,如ob_start()這個快取頁面面開啟的話在傳送檔案頭之前頁面內容都被緩衝在記憶體中,知道等頁面輸出自動清楚或者等待ob_get_contents的返回,或者被ob_end_clean 顯示的清除,這在靜態頁面的產生中能很好的利用,在模板中能得到很好的體現,我的這篇文章深入的討論了:談php產生靜態頁面,這是一種方式,但這是臨時性的,不是解決我們問題的好方法.
可以這麼說:緩衝一般分為頁面緩衝和資料緩衝。ADODB緩衝是資料緩衝.smarty是頁面緩衝。 adodb緩衝是
<?php }
include(./adodb/adodb.inc.php);
$ADODB_CACHE_DIR='tmp';
$db=NewADOConnect('MySQL');
$db->connect('localhost','root','123456','mysql');
$sql="select * from user";
$db->cacheexecute(300,$sql);
?>
這樣在TMP目錄下產生了緩衝!(快取檔案是序列化的資料。) 當下次在執行的時候,我們直接從緩衝裡面讀取資料。SMARTY緩衝:
<
?php
require('./smarty/Smarty.class.php');
$smarty = new Smarty; Z)
$smarty->caching = true;
if(!$smarty->is_cached('index.tpl'))
// No cache available, do variable assignments here. )
$contents = get_database_contents();
$smarty->assign($contents);
}
$smarty->display('index.tpl'); )
?>
這個首先判斷是否有這個快取檔案!沒有直接連結資料庫!有的話!執行DISPLAY。就是讀取緩衝。大家看到上面的2個例子!對緩衝有很大的理解了吧