優化頁面響應時間
大致方向:
1.頁面靜態化:適用於不是經常改動的頁面
偽靜態:將動態地址轉換為靜態地址
純靜態:分為局部純靜態、全部純靜態
buffer:緩沖區,一個內存地址空間,主要用於存儲數據
輸出流程:內容 -> php buffer -> tcp -> 終端
buffer緩沖區的開啟:
1. 默認php.ini中已經開啟了
2. ob_start()開啟緩沖區 讀取緩沖區內容ob_get_contents()
實現純靜態化基本方式:
1.file_put_contents()
2.使用php內置緩存機制實現頁面靜態化:output_buffering
常用ob函數:
ob_start() 打開輸出控制緩沖區(開啟緩沖區)
ob_get_contes() 返回輸出緩沖區的內容
ob_clean() 清空緩沖區內容
ob_get_clean() 得到當前緩沖區內容,並清空緩沖區內容
這個函數相當於:先使用ob_get_contents()再使用ob_clean()
實現:
1.連接數據庫,將數據讀取出來
2.將讀取出來的數據填充到模板中
3.把動態的頁面轉化為靜態頁面,生成純靜態文件
使用file_put_contents(‘aaa.html‘,ob_get_clean())這樣就生成了對應的純靜態文件
三種觸發方式:如何觸發系統生成純靜態化頁面方式(什麽時候重新生成新的靜態化文件)
1.頁面添加緩存時間:到這個時間點進行靜態化
2.手動觸發來生成靜態化文件
3.crontab定時掃描程序
頁面添加緩存時間:
流程:用戶訪問頁面 -> 頁面時間是否過期
如果過期了,訪問動態頁面,並生成靜態化文件
如果未過期,訪問靜態化文件
手動觸發方式:
在後臺建立一個對應的更新按鈕來生成新的靜態化文件
crontab定時掃描程序:
分時日月周 php /test.php (定時執行)
如*/5 * * * * php /test.php (每五分鐘執行一次)
局部靜態化實現:
ajax方式:
步驟:編寫接口 -> ajax請求接口操作
2.優化數據庫
3.使用負載均衡
4.使用緩存
優化頁面響應時間