在php中有的時候為了減少資料庫的訪問,常把有些資料內容以檔案快取的方式快取到磁碟上。這是一種不錯的方法,從某種角度來看。
但是這種問題有一些特別需要注意的弊病,php是以**的方式快取物件,乙個物件如果有6個屬性,你快取了20條資料,那麼你的快取頁面大概會有200行的**
有的時候在某些頁面連續快取幾個表是很正常的,那麼你的快取頁面cache.php可能達到上千行的**。
這個cache.php的**雖然是以array的方式存在的,但是由於php是行解釋模型,當檔案的行太多的時候會非常影響效能。
舉例來說:4個表*20條資料*10個字段=800 lines
所以這種物件模式的檔案快取是非常不好的
一種替換方案是非物件式的快取,要麼對資料自定義性的編碼,要麼格式化資料後快取。
舉例來說:
4個表每個表轉換成一行資料,那麼最多也才4行資料。在程式中利用記憶體的快速運算來重新處理比讀大lines的檔案快速很多。
對於這些表需要輸出的頁面,其實直接快取為html最好不過了,這樣連運算都省掉了。檔案io是很快的
利用快取可以極大的減少開銷,但是要合理和靈活的使用,否則反而走向誤區。如果你對於效能方面有優化性的疑惑最好的方案就是多試多分析,慢慢就會找到解決方案
前端效能優化 快取優化
控制瀏覽器強快取主要靠兩個響應頭部欄位來實現 expires和cache control,瀏覽器在訪問靜態資源時,會首先判斷該資源是否做了強快取。如果發現是強快取並且快取還在有效期內,那就不會去傳送http請求,而直接使用本地的快取 這個快取可能來自於記憶體,也可能來自本地磁碟空間 其中expire...
php快取優化
2,eaccelerator。通過將php指令碼快取在其編譯狀態來提高指令碼的效能,從而消除編譯的開銷,它還優化指令碼以加速其執行,eaccelerator通常可以減少伺服器開銷,並將php 的速度提公升1 10倍。eaccelerator將編譯的php儲存在共享記憶體中,並直接從中執行 他只是在短...
效能優化 ajax快取
在現代web應用程式中,前端 充斥著大量的ajax請求,如果對於ajax請求可以使用瀏覽器快取,那麼可以顯著地減少網路請求,提高程式響應速度。1.ajax request 使用jquery框架可以很方便的進行ajax請求,示例 如下 1 ajax 7 非常簡單,注意其中的第4行 cache true...