php caching memcached apc

php - Memcached vs APC ¿cuál debería elegir?



caching (7)

¡Solo uso APC ya que APC es un caché de código y actúa como Memcache! Solo 1 archivo de configuración en lugar de 2.

Y solo 1 lugar para monitorear ambos caché .....

Leí este artículo: http://www.mysqlperformanceblog.com/2006/09/27/apc-or-memcached/ desde cuando ... Quiero obtener el mejor motor de almacenamiento en caché disponible para que mi aplicación sea realmente rápida. Por supuesto, no quiero sobre-caché, pero al menos quiero elegir lo mejor que haya. En ese artículo dice que Memcached es lento y que la AP es rápida, ¿por qué todos eligen memcached ?

http://framework.zend.com/manual/en/zend.cache.backends.html#zend.cache.backends.twolevels aquí dice "use uno rápido (pero limitado) como Apc, Memcache ... y un "lento", como File, Sqlite ... "¿crees que utilizar Apc como el rápido y Memcache como el lento es una buena idea?


Depende de lo que estés haciendo, pero para mis sitios web de drupal que se ejecutan en un VPS, ¡me parece que APC funciona de maravilla! Si está ejecutando CentOS 6, está disponible como una actualización yum tan fácil de instalar y sin configuración, ya que los valores predeterminados son razonables. Un pan comido.


Hola Thomaschaaf, espero que esto no sea una herramienta tardía para ti, pero ten en cuenta que APC tiene algunos problemas relacionados con el "caché de usuario". Para abreviar, cuando establece tiempos de espera para entradas de caché, o si su apache se cuelga dentro del código APC interno (tiempo de espera, por ejemplo), entonces puede sufrir algunos problemas.

Tengo una entrada sobre el problema aquí: http://nirlevy.blogspot.com/2009/06/apc-futexwait-lockdown-make-your-apache.html , y también debería leer http://t3.dotgnu.info/blog/php/user-cache-timebomb.html (de uno de los desarrolladores de APC creo)


La principal ventaja de APC es el caché de código de operación. Desde PHP 5.5 integrado OpCache a su núcleo y APC para PHP 5.4 todavía se marca como beta, no es anuncio oficial, pero el desarrollo de APC se abandonará en un futuro próximo.

Así que te recomendaría que elijas Memcached.


Memcached es un sistema de almacenamiento en caché distribuido, mientras que APC no está distribuido, y principalmente es un caché de código de operación.

Si (y solo si) tiene una aplicación web que tiene que vivir en diferentes servidores web (loadbalancing), debe usar memcache para el almacenamiento en caché distribuido. Si no, simplemente adhiérase a APC y su caché.

Siempre debe usar un caché de código de operación, que es APC (también APC se integrará en php6 iirc, entonces ¿por qué no empezar a usarlo ahora?).

Puede / debe usar ambos para diferentes propósitos.


Memcached si necesita preservar el estado en varios servidores web (si está equilibrado de carga y es importante que lo que está en la memoria caché sea el mismo para todos los servidores).

APC si solo necesita acceder a la memoria rápida para leer (y escribir) en un (o cada) servidor.

Recuerde que APC también puede compilar y acelerar el tiempo de ejecución de su script. Por lo que podría, por ejemplo, estar utilizando APC para un mayor rendimiento de ejecución, mientras usa memcached para el almacenamiento en caché.


Utilizo tanto uno para la velocidad y el otro para sincronizar todos mis servidores. Si usa Memcache, tenga en cuenta los puertos abiertos que deberá bloquear con iptables.