什麼是頁面快取?
將動態生成的頁面存檔,下一次請求直接回傳靜態檔案,省去重複運算。類似快取機制,提升回應速度與效率。
適用條件
- 頁面內容基本不變:不適合含即時計數、個性化內容的頁面。
- 動態輸出可存為字串:需使用模板類或字串組裝,避免直接
echo/print/readfile 輸出(無法攔截內容寫檔)。
實作流程
- 依請求 URI 產生快取檔名(處理
?、& 等特殊字元)。
- 檢查快取檔是否存在:
不存在 → 產生動態頁面、存檔、輸出、結束。
存在 → 進入第 3 步。
- 比較快取檔修改時間與相關檔案(內容檔、主程式、模板檔)修改時間。
快取較新 → 直接輸出快取檔。
快取過期 → 重新產生、覆寫快取、輸出。
快取儲存方式
- 檔案系統:建立暫存目錄(需寫入權限)。
- 資料庫:增加「生成時間」欄位,比對時間判斷有效性。
具體程式碼請參考下一篇「簡單頁面快取技術(二)」。