php快取 靜態頁面

2021-04-21 05:40:12 字數 1448 閱讀 5051

大家會問什麼是快取!能幹什麼!

其實快取相當於記憶體。儲存一段時間!

快取就是我們執行東西時候不用在執行資料庫了。直接執行我們的快取就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頁面的靜態快取。根據個人理解,由於客戶端重複的請求某個頁面,導致該頁面短時間內被重複請求相同的資料,導致給服務端一定的壓力,同時使用者訪問速度也會變慢。此時如果把這個頁面快取起來,客戶端請求這個快取頁面速度就很快,都不用查詢資料庫的。並不是每個頁面都適合做快取,頁面要保證短時間內請求...