2009-10-19 28 views
6

我真的被APC的一般緩存方面所困擾,並希望在我的代碼中使用它(我知道該怎麼辦,這是而不是的問題)。PHP:使用APC作爲通用緩存,XCache作爲opcache,可能嗎?

但是,我現在使用XCache作爲opcache,並希望繼續這樣做,因爲我已經根據自己的特殊需求調整了「恰到好處」。

我想使用APC緩存作爲通用緩存的原因是我不喜歡Pear的PEAR :: Cache_Lite,因爲它將它用於變量緩存,因爲它將它存儲在磁盤上,而磁盤I/O是一個瓶頸,而RAM不是,APC將變量存儲在RAM中,而不是存儲在磁盤上的文件中。因此,任何人都有任何經驗或知道是否可以將APC設置爲僅作爲通用緩存運行(通過我的PHP代碼中的API調用,類似於PEAR :: Cache_Lite的API),而我維護另一個opcache (在我的情況下,xcache)。

謝謝。

+0

沒有人真的知道這件事嗎? – Adergaard 2009-10-19 09:40:04

回答

5

了XCache作品也作爲一般的高速緩存。就像APC一樣。只需使用Xcache!

mixed xcache_get(string name) 
bool xcache_set(string name, mixed value [, int ttl]) 
bool xcache_isset(string name) 
bool xcache_unset(string name) 
bool xcache_unset_by_prefix(string prefix) 
int xcache_inc(string name [, int value [, int ttl]]) 
int xcache_dec(string name [, int value [, int ttl]]) 

Here is the API

0

具有兩個緩存試圖在同一時間運行是不可能的。他們會試圖掛鉤到同一個系統中。選一個。

現在接着對其他技術的標準插頭,你不使用:

技術上和速度的角度來看,有沒有在裏面了,雖然我看到有報道說APC確實在其中的文件更特別是使用自動加載等技術(例如使用Zend_loader)。 APC確實很容易訪問(pecl install ...),而且它是一個「更正式的」PHP項目,然後是其他緩存系統。

我已經使用APC對那些標準的操作碼和大量的變量有很大的影響,TTL從30秒(現在有多少人在線)到24小時或更長(數據庫表元-信息)。

1

您可以使用這兩種緩存,但它們都在功能方面重疊。所以理想情況下,您應該將APC配置爲僅緩存文件,將XCache配置爲OPCache。請檢查下面的comparison of features

Comparison of features for PHP accelerators such as APC, eAccelerator, XCache, Zend Opcache

對於PHP> = 5.5 APC已經停產,因此,你應該使用XCache將在Zend Opcache作爲高速緩存的主PHP加速器。