三大快取技術:
瀏覽器快取 :
瀏覽器接收伺服器返回的資料,每接收到一定的資料量,才展示到頁面.
程式快取:
php語言在執行過程中,每次產生的輸出,都先存放在程式快取空間,當整個程式執行結束,再返回給apache或nginx ,最後返回到瀏覽器,程式快取是語言底層實現的,開發者無法操控和感知。
ob快取:
php語言提供的快取,是可以被開發者操控的。如果開啟,則所有的php的輸出,先進入ob快取,在進入程式快取,最後返回給apache或nginx。
ob快取常用函式
ob_start():開啟ob快取
ob_get_clean();獲取然後清除ob快取內容,獲取之後,ob快取內容被刪除,不存在了。
ob_get_contents():獲取ob快取內容,獲取快取後,ob快取內容依然存在。
ob_get_flush():獲取並送出ob快取內容,送出到程式快取。之後ob快取內容沒了。
ob_clean():清空ob快取(刪除)
ob_end_clean():清空並關閉ob快取
ob_end_flush():送出並關閉ob快取
ob快取實現靜態頁面:
可以使用file_put_contents函式將字串寫入檔案
filemtime函式獲取檔案上次被寫入的時間
file_exists判斷是否存在目錄或檔案
用這些函式可以實現快取靜態檔案
偽靜態:
通過重寫機制實現看url是靜態網頁,其實訪問到的是動態網頁
可以通過apache重寫機制進行配置
loadmodule rewrite_module modules/mod_rewrite.so可以開啟這個重寫模式
allowoverride all
修改虛擬主機配置檔案
PHP 靜態快取
今天來說說php頁面的靜態快取。根據個人理解,由於客戶端重複的請求某個頁面,導致該頁面短時間內被重複請求相同的資料,導致給服務端一定的壓力,同時使用者訪問速度也會變慢。此時如果把這個頁面快取起來,客戶端請求這個快取頁面速度就很快,都不用查詢資料庫的。並不是每個頁面都適合做快取,頁面要保證短時間內請求...
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...