大家會問什麼是快取!能幹什麼!
其實快取相當於記憶體。儲存一段時間!
快取就是我們執行東西時候不用在執行資料庫了。直接執行我們的快取就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;
$smarty->caching = true;
if(!$smarty->is_cached('index.tpl'))
$smarty->display('index.tpl');
?>
這個首先判斷是否有這個快取檔案!沒有直接鏈結資料庫!
有的話!執行display。就是讀取快取。
大家看到上面的2個例子!對快取有很大的理解了吧!
現在說下怎麼生成我們的html頁面!
其實就是用file,mkdie相關函式來做!
給大家乙個函式。以前我寫的啊!
function htmlpage($path, $oldpage=null)
else
$fp = fopen($filename, "w");
fwrite($fp, $htmlstr);
fclose($fp);
return $filename;
}else
if(!empty($errorlist)) //處理錯誤 }
頁面快取靜態化
本人比較熟悉的模組 頁面的靜態化 a 頁面的靜態化是將動態的html展示給使用者,節省使用者訪問資料庫的時間,快取了資料庫的資料,可以設定重新整理頁面的時間,是比較常見的技術,但是要注意的是,與使用者有關的資料不要靜態化。b 在廣告模組中遍歷所有的商品類別和多級類別,商品廣告的內容 c 在html中...
PHP快取靜態
三大快取技術 瀏覽器快取 瀏覽器接收伺服器返回的資料,每接收到一定的資料量,才展示到頁面.程式快取 php語言在執行過程中,每次產生的輸出,都先存放在程式快取空間,當整個程式執行結束,再返回給apache或nginx 最後返回到瀏覽器,程式快取是語言底層實現的,開發者無法操控和感知。ob快取 php...
PHP 靜態快取
今天來說說php頁面的靜態快取。根據個人理解,由於客戶端重複的請求某個頁面,導致該頁面短時間內被重複請求相同的資料,導致給服務端一定的壓力,同時使用者訪問速度也會變慢。此時如果把這個頁面快取起來,客戶端請求這個快取頁面速度就很快,都不用查詢資料庫的。並不是每個頁面都適合做快取,頁面要保證短時間內請求...