PHP頁面快取示例 減輕CPU和MYSQL負擔

2021-08-25 15:41:51 字數 950 閱讀 5140

正 文:

剛做完php頁面cache方面的東西,做一下筆記:ob_start():頁面快取開始的標誌,此函式一下的內容直至ob_end_flush()或者ob_end_clean()都儲存在頁面快取中;

ob_get_contents():用來獲取頁面快取中的內容,獲取到以後呢,我們就可以想怎麼處理這些內容都行了,過濾欄位啦,匹配內容啦,都可以~~~ :)

ob_end_flush():表示頁面快取結束。並且經我驗證,快取的內容將輸出到當前頁面上,也就是可以顯示快取內容。用此三個php函式,就可以實現強大的功能。如果資料庫查詢量較大,可以用cache來解決這個問題。首 先,設定過期時間,如果要求快取檔案2個小時過期,就可以設定cache_time為3600*2;通過filectime()來獲取快取檔案的建立時間 (或 filemtime()獲取修改時間),如果當前時間跟檔案的建立時間超過限定的過期時間,就可以通過上面三個函式,首先從資料庫中取出 資料,然後開始快取ob_start(),然後把要生成的頁面的html**寫在快取中,快取結束後通過ob_get_contents()獲取到快取的 內容,然後通過fwrite把快取內容寫到靜態頁面html。如果未過期,直接讀取cache中的靜態頁面即可,避免了大量的資料庫訪問。下面做個示例來說明php頁面快取技術:

<?php

$_time =10;

$dir="d:\\php\\";function cache_start($_time, $dir)

}function cache_end($dir)

cache_start($_time, $dir);

//以下是輸出的內容,放在cache_start和cache_end兩個方法之間

for ($i=0;$i<5;$i++)

cache_end($dir);

?>

php快取 靜態頁面

大家會問什麼是快取!能幹什麼!其實快取相當於記憶體。儲存一段時間!快取就是我們執行東西時候不用在執行資料庫了。直接執行我們的快取就ok了 一般來說,快取的目的是把資料放在乙個地方讓訪問的更快點,毫無疑問,記憶體是最快的,但是,幾百m的資料能往記憶體 放麼?這不現實,當然,有的時候臨時放如伺服器快取,...

php靜態檔案快取示例

開始緩衝區 ob start cache file cache 4.3 static.html cache time 1 設定快取更新時間 if file exists cache file time cache time filemtime cache file echo 這是乙個快取檔案內容!f...

PHP 不快取頁面和後退無效

客戶端新增如下 或者在 php服務端新增如下 header cache control no cache,must revalidate,no store 這個no store加了之後,firefox下有效 header pragma no cache header expires wed,23 a...