文章目錄
網絡營銷對於人類WordPress建立站、做電商和網絡推廣,給網站提升速度,能在一定程度上提升SEO效果。
在安裝了VestaCP控制面板之類的Linux系統之後,可以選擇一些緩存擴展來提高PHP的速度。

經常會看到的是這些緩存擴展:
- APC
- 電子加速器
- 緩存
- memcached的
- Redis的
它們之間有什麼區別?作用是什麼?我們該如何選擇?
陳溈亮會在本文給你答案。
一、Alternative PHP Cache(APC緩存)

Alternative PHP Cache(APC緩存)是PHP的開源緩存工具,用於緩存Opcode(目標文件)PHP中間碼。
APC的緩存,分為2部分:
- 系統緩存
- 用戶數據緩存
系統緩存是自動使用的:
- 這意味著APC緩存PHP文件源代碼的編譯結果,然後再次調用時間戳。
- 如果它尚未過期,就使用緩存代碼運行它。
- 默認緩存為3600(一小時)。
但這仍然浪費了大量的CPU時間。
因此,你可以將系統緩存設置為永不過期的php.ini文件裡,設置system緩存為永不過期(apc.ttl=0)。
但是,如果執行此操作,則需要在更改PHP代碼後,重新啟動Web服務器(例如,apache)。
目前,APC性能測試一般是指這一層的緩存;
從字面上看,Alternative PHP Cache(APC緩存)也可以被視為內存緩存擴展,
它是一個數據庫緩存擴展。
二、eAccelerator
eAccelerator是一個免費的開源PHP加速器。
- 優化和動態內容緩存,可以提高PHP腳本的緩存性能。
- 因此可以讓PHP腳本在編譯狀態種,降低服務器的資源消耗。
- 它還優化了腳本,提高執行效率,將PHP代碼的效率提高1-10倍。
- eAccelerator暫不支持PHP5.5以上的版本。
如同從文字理解的那樣:eAccelerator是PHP中的加速器擴展。
三、XCache
XCache是一個開源的opcode緩衝器/優化器,可以提高服務器上PHP的性能。
- 可以通過將編譯後的PHP數據,緩存到共享內存來避免重複編譯過程
- 並且可以直接使用緩衝區,來編譯代碼提高速度。
- 它通常可以將頁面生成速率提高2到5倍,並減少服務器負載。
實際上,XCache是PHP加速器擴展。
四、memcached
Memcached是一個高性能的分佈式內存對象緩存系統:
- 用於動態Web應用程序以減少數據庫負載。
- 它通過在內存中緩存數據和對象,來減少數據庫讀取的數量,從而提供動態的、數據庫驅動的網站的速度。
從文字中可以理解到:內存緩存擴展,更多用於集群服務器,主要用於分佈式緩存。
Memcached被認為是數據庫緩存擴展。
五、Redis
Redis是一個高性能的key-value數據庫。

- redis的出現極大地彌補了memcached等,缺乏keyalue存儲的問題。
- 在某些情況下,它可以補充關係數據庫。
- 在許多情況下,Redis經常和memcached做比較。
很多人認為Redis可以完全取代memcached,因為Redis數據類型更豐富,性能不在memcached之下:
- redis有的memcached卻沒有;
- memcached有redis都有。
據我所知,新浪的微博和其他周邊產品依賴於Redis,可以看出它功能強大。
PHP緩存、數據庫緩存擴展區別
1)PHP緩存擴展:
- eAccelerator、XCache是PHP緩存擴展。
2)數據庫緩存擴展:
- Redis、memcached、APC緩存是數據庫緩存擴展。
(通常2者只需要安裝其中1個就行了,不要貪心)
有人測試後,發現Cache數據緩存超過一定閾值,APC性能不如mcached緩存。
因此,在選擇緩存擴展時,一些人會選擇xcache + memcached 的組合,或是xcache + redis 的組合。
如果在同時安裝多個緩存擴展出現錯誤,建議只安裝一個緩存擴展,其它的卸載。
PHP加速器比較總結
- 通過測試,eAccelerator是請求時間和內存使用的最佳組合,但eAccelerator暫不支持PHP5.5以上的版本。
- 通過測試,有使用加速器的速度,比沒有加速器快3倍。
以上就是APC、eAccelerator、XCache、memcached、Redis之間的作用和區別。
希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《APC,eAccelerator,XCache,memcached,Redis的區別》,對您有幫助。
歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-940.html