2009-10-19 15 views
6

Sono davvero affascinato dagli aspetti generali della cache di APC e voglio usarlo nel mio codice (questo so come fare, questo è non il problema).PHP: usare APC come cache generale, XCache come opcache, possibile?

Tuttavia, sto usando XCache come opcache ora e voglio continuare a farlo poiché ho ottimizzato "giusto" per le mie particolari esigenze.

Il motivo per cui voglio utilizzare la cache APC come cache generale è che non sono soddisfatto di PEAR :: Cache_Lite di Pear in termini di utilizzo per la memorizzazione nella cache delle variabili mentre lo memorizza sul disco e I/O del disco è un collo di bottiglia mentre la RAM non lo è e APC memorizza le variabili nella RAM, non nei file sul disco.

Quindi, chiunque ha qualche esperienza o sa se è possibile configurare APC per funzionare solo come cache generale (essendo chiamato tramite la sua API nel mio codice PHP, analogamente a quello di PEAR :: Cache_Lite) mentre mantengo un altro opcache (nel mio caso, xcache).

Grazie.

+0

Nessuno sapeva davvero di questo? – Adergaard

risposta

0

Le impostazioni di configurazione di esecuzione hanno il seguente:...

apc.optimization 0 "Il livello di ottimizzazione Zero disabilita l'ottimizzatore, e valori più alti utilizzare le ottimizzazioni più aggressive Aspettatevi miglioramenti di velocità molto modesti Questo è sperimentale."

http://www.php.net/manual/en/apc.configuration.php#ini.apc.enabled

5

XCache funziona anche come cache generale. Proprio come APC. Basta usare 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

Avendo i due cache tentativo di eseguire allo stesso tempo non sarebbe possibile. Stanno tentando di collegarsi allo stesso sistema. Scegline uno.

segue ora la spina standard per l'altra tecnologia che non si usa:

Tecnicamente, e la velocità-saggio, non c'è molto in essa, anche se ho visto i rapporti che APC fa meglio a inclusi i file e in particolare con tecniche come l'autoloading (ad es. con Zend_loader). APC ha facile accesso (pecl install ...), ed è un progetto PHP 'più ufficiale' poi l'altro sistema di caching.

Ho usato APC con grande effetto, per gli opcode standard e anche per un numero significativo di variabili, con TTL che vanno da 30 secondi (quante persone online in questo momento), a 24 ore o più (database table meta -informazione).

1

È possibile utilizzare entrambe le cache, tuttavia entrambe si sovrappongono in termini di funzionalità. Quindi idealmente dovresti configurare APC per memorizzare solo i file nella cache e XCache come OPCache.Si prega di controllare il seguente comparison of features:

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

Per PHP> = 5.5 APC è fuori produzione, quindi si dovrebbe utilizzare XCache o Zend Opcache come acceleratore di PHP principale per la memorizzazione nella cache.