折騰VPS的朋友,在安裝好LNMP等Web運行環境後都會選擇一些緩存擴展安裝以提高PHP運行速度,常被人介紹的有eAccelerator、memcached、xcache、Alternative PHP Cache這幾個緩存擴展,它們之間有什麼區別?分別的作用又是什麼?我們如何選擇?這是本文給於大家的答案。
1、eAccelerator
eAccelerator是一個自由開放原始碼PHP加速器,最佳化和動態內容緩存,提高了PHP腳本的快取效能,使得PHP腳本在編譯的狀態下,對伺服器的開銷幾乎完全消除。它還對腳本起優化作用,以加快其執行效率。使PHP程式碼執效率能提高1-10倍。從文字上可以理解為:eAccelerator是PHP加速器擴充。
2、memcached
#
Memcached 是一個高效能的分散式記憶體物件快取系統,用於動態Web應用以減輕資料庫負載。它透過在記憶體中快取資料和物件來減少讀取資料庫的次數,從而提供動態、資料庫驅動網站的速度。從文字上可以理解為:記憶體快取擴展,並且針對於叢集伺服器使用較多,主要用於分散式緩存,算是資料庫快取。
3、Alternative PHP Cache(APC快取)
Alternative PHP Cache (APC快取)是一種對PHP有效的開放源高速緩衝儲存器工具,他能夠快取Opcode(目標檔)的PHP中間碼。 APC的快取分成兩部分:系統快取和使用者資料快取. 系統快取 是自動使用的,是指APC把PHP檔案原始碼的編譯結果快取起來,然後在再次呼叫時先對比時間標記。如果未過期,則使用快取代碼運行。預設快取3600s(一小時).但是這樣仍會浪費大量CPU時間.因此可以在php.ini中設定system快取為永不過期(apc.ttl=0).不過如果這樣設定,改運PHP程式碼後需要restart一下您的web伺服器(例如apache…).目前對APC的效能測試一般指的是這一層cache;從文字上理到:Alternative PHP Cache(APC快取)也算是一種記憶體快取擴展,算是資料庫緩存擴充。
4、Xcache
是一個開源的opcode快取器/最佳化器, 他能夠提升伺服器上的PHP效能,他透過把編譯PHP後的資料緩衝到共享記憶體從而避免重複的編譯過程, 能夠直接使用緩衝區已編譯的程式碼從而提高速度. 通常能夠提高您的頁面產生速率2到5倍, 降低伺服器負載。其實它跟eAccelerator一樣是PHP加速器擴充。
以上就是他們的作用與區別,簡單一點就是:eAccelerator,xcache是PHP緩存擴展,memcached、APC緩存是數據庫緩存擴展,一般兩者只有要安裝其中一個即可,不要貪多。另外,實際測試中發現當Cache數量超過一定閥值的時候,APC的表現不如Memcache。所以在擴充的選擇上,本人一般會選擇xcache memcached這個組合。
推薦學習:《PHP影片教學》
以上是分析PHP常用的4種緩存擴展的區別及作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!