PHP中有eAccelerator、memcached、xcache、APC 4個(gè)加速、緩存擴(kuò)展,下面給大家介紹下其區(qū)別,一起看看吧!
折騰VPS的朋友,在安裝好LNMP等Web運(yùn)行環(huán)境后都會(huì)選擇一些緩存擴(kuò)展安裝以提高PHP運(yùn)行速度,常被人介紹的有 eAccelerator、memcached、xcache、Alternative PHP Cache這幾個(gè)緩存擴(kuò)展,它們之間有什么區(qū)別?分別的作用又是什么?我們?nèi)绾芜x擇?這是本文給于大家的答案。
1、eAccelerator
eAccelerator是一個(gè)自由開(kāi)放源碼PHP加速器,優(yōu)化和動(dòng)態(tài)內(nèi)容緩存,提高了PHP腳本的緩存性能,使得PHP腳本在編譯的狀態(tài)下,對(duì)服務(wù)器的開(kāi)銷幾乎完全消除。 它還有對(duì)腳本起優(yōu)化作用,以加快其執(zhí)行效率。使PHP程序代碼執(zhí)效率能提高1-10倍。從文字上可以理解為:eAccelerator是PHP加速器擴(kuò)展。
2、memcached
Memcached 是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。它通過(guò)在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來(lái)減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提供動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。從文字上可以理解為:內(nèi)存緩存擴(kuò)展,并且針對(duì)于集群服務(wù)器使用較多,主要用于分布式緩存,算是數(shù)據(jù)庫(kù)緩存。
3、Alternative PHP Cache(APC緩存)
Alternative PHP Cache (APC緩存)是一種對(duì)PHP有效的開(kāi)放源高速緩沖儲(chǔ)存器工具,他能夠緩存Opcode(目標(biāo)文件)的PHP中間碼。 APC的緩存分兩部分:系統(tǒng)緩存和用戶數(shù)據(jù)緩存. 系統(tǒng)緩存 是自動(dòng)使用的,是指APC把PHP文件源碼的編譯結(jié)果緩存起來(lái),然后在再次調(diào)用時(shí)先對(duì)比時(shí)間標(biāo)記。如果未過(guò)期,則使用緩存代碼運(yùn)行。默認(rèn)緩存 3600s(一小時(shí)).但是這樣仍會(huì)浪費(fèi)大量CPU時(shí)間.因此可以在php.ini中設(shè)置system緩存為永不過(guò)期(apc.ttl=0).不過(guò)如果這樣設(shè)置,改運(yùn)PHP代碼后需要restart一下您的web服務(wù)器(比如apache…).目前對(duì)APC的性能測(cè)試一般指的是這一層cache;從文字上理到:Alternative PHP Cache(APC緩存)也算是一種內(nèi)存緩存擴(kuò)展,算是數(shù)據(jù)庫(kù)緩存擴(kuò)展。
4、Xcache
是一個(gè)開(kāi)源的opcode緩存器/優(yōu)化器, 他能夠提高服務(wù)器上的PHP性能,他通過(guò)把編譯PHP后的數(shù)據(jù)緩沖到共享內(nèi)存從而避免重復(fù)的編譯過(guò)程, 能夠直接使用緩沖區(qū)已編譯的代碼從而提高速度. 通常能夠提高您的頁(yè)面生成速率2到5倍, 降低服務(wù)器負(fù)載。 其實(shí)它與eAccelerator一樣是PHP加速器擴(kuò)展。
以上就是他們的作用與區(qū)別,簡(jiǎn)單一點(diǎn)就是:eAccelerator,xcache是PHP緩存擴(kuò)展,memcached、APC緩存是數(shù)據(jù)庫(kù)緩存擴(kuò)展,一般兩者只有要安裝其中一個(gè)即可,不要貪多。另外,實(shí)際測(cè)試中發(fā)現(xiàn)當(dāng)Cache數(shù)量超過(guò)一定閥值的時(shí)候,APC的性能不如Memcache。所以在擴(kuò)展的選擇上,本人一般會(huì)選擇xcache+memcached這個(gè)組合。
以上所述是小編給大家介紹的PHP中加速、緩存擴(kuò)展的區(qū)別和作用詳解(eAccelerator、memcached、xcache、APC )的全部敘述,希望對(duì)大家有所幫助