溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

話說zendopcache與apc

發(fā)布時(shí)間:2020-07-18 22:32:56 來源:網(wǎng)絡(luò) 閱讀:792 作者:shijiaoliang 欄目:開發(fā)技術(shù)

apc和zendopcache什么區(qū)別
http://www.laruence.com/2013/03/18/2846.html

點(diǎn)擊(此處)折疊或打開

  1. 在以前, 很多人都會(huì)選擇使用APC, APC除了提供Opcode Cache以外, 還會(huì)提供一套User Data Cache(apc_store/apc_fetch), 所以對(duì)于很多有需求使用User Data Cache的同學(xué), 使用APC, 就沒什么問題.


  2. 然而, 最近Zend Optimizer Plus開源了, 測(cè)試表明, Zend O+在Opcode Cache方面, 因?yàn)樽隽薕pcode Cache優(yōu)化, 所以會(huì)比APC要高效, 再后來, PHP5.5已經(jīng)把Zend O+作為了源代碼的一部分. 會(huì)隨著PHP一起發(fā)布.


  3. 這就有了個(gè)問題, 對(duì)于那些既要使用Zend O+的Opcode Cache, 又要使用APC的User Data Cache的同學(xué), 怎么辦呢?


  4. 開始的時(shí)候, 我只是給APC增加了一個(gè)開關(guān)apc.opcode_cache_enable, 這樣一來, 用戶就可以使用APC然而關(guān)閉opcode cache來達(dá)到這個(gè)目的, 但是APC的User Data Cache使用的存儲(chǔ)機(jī)制是和Opcode Cache一樣的, 這樣的場(chǎng)景要求數(shù)據(jù)嚴(yán)格正確, 所以鎖會(huì)比較多, 測(cè)試表明, APC的User Data Cache的效率和本地memcached幾乎相當(dāng).


什么是opcode
http://www.nowamagic.net/librarys/veda/detail/1325

點(diǎn)擊(此處)折疊或打開

  1. opcode是計(jì)算機(jī)指令中的一部分,用于指定要執(zhí)行的操作, 指令的格式和規(guī)范由處理器的指令規(guī)范指定。 除了指令本身以外通常還有指令所需要的操作數(shù),可能有的指令不需要顯式的操作數(shù)。 這些操作數(shù)可能是寄存器中的值,堆棧中的值,某塊內(nèi)存的值或者IO端口中的值等等。


  2. 通常opcode還有另一種稱謂:字節(jié)碼(byte codes)。 例如Java虛擬機(jī)(JVM),.NET的通用中間語言(CIL: Common Intermeditate Language)等等。


  3. PHP中的opcode則屬于前面介紹中的后著,PHP是構(gòu)建在Zend虛擬機(jī)(Zend VM)之上的。PHP的opcode就是Zend虛擬機(jī)中的指令。


簡(jiǎn)單來說
apc和zendopcache都能做opcode cache,但是zendopcache的效率比apc高,所以能用zendopcache做opcode cache就用zendopcache
但是apc提供額外的User Data Cache,而zendopcache不提供,為了這兩個(gè)一起用不沖突,關(guān)閉apc的opcode cache功能就能一起用了
所以apc里設(shè)置apc.enable_opcode_cache=0就能和zendopcache一起用了


這個(gè)User Data Cache又是啥呢,應(yīng)該就是類似靜態(tài)變量之類的吧

因?yàn)镻HP像有守護(hù)進(jìn)程的JAVA之類的語言,沒有真正的靜態(tài)變量,當(dāng)需要類型靜態(tài)變量的時(shí)候,

比如說游戲服務(wù)器ID,ip之類的很少更新的信息估計(jì)都能存這里面,免去反復(fù)讀取數(shù)據(jù)庫(kù)。

另外apc在5.5的時(shí)候已經(jīng)去掉opcode cache功能并改名為apcu,意思是只提供user cache了,不過5.5還有能用apc的一個(gè)補(bǔ)丁過得版本。
在php5.6里需要直接用apcu了,沒人在補(bǔ)丁apc給php5.6了


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI