咱們會問啥是緩存!精干啥!本來緩存相當于內存。保留一段時間!
緩存即是咱們履行東西時分不用在履行數據庫了。直接履行咱們的緩存就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個比如!對緩存有很大的理解了吧!