大家會問什麼是緩存!能干什麼!其實緩存相當於內存。保存一段時間!
緩存就是我們執行東西時候不用在執行數據庫了。直接執行我們的緩存就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緩存:
<?phprequire('./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個例子!對緩存有很大的理解了吧!