via memcache php memcached

via - php pecl memcached



Memcache vs. Memcached (2)

(Parcialmente robado de ServerFault )

Creo que ambos son funcionalmente iguales, pero simplemente tienen diferentes autores, y uno simplemente se nombra más apropiadamente que el otro.

Aquí hay un resumen rápido de las convenciones de nombres (para los que no están familiarizados), lo que explica la frustración de la persona que pregunta: Para muchas aplicaciones * nix, la pieza que hace el trabajo secundario se llama "daemon" (piense en "servicio" en Windows- land), mientras que la interfaz o aplicación cliente es lo que usa para controlar o acceder al daemon. El daemon a menudo se denomina igual que el cliente, con la letra "d" añadida. Por ejemplo, "imap" sería un cliente que se conecta al daemon "imapd".

Esta convención de nomenclatura se está cumpliendo claramente con Memcache cuando lee la introducción al módulo de Memcache (observe la distinción entre Memcache y Memcached en este extracto):

El módulo Memcache proporciona una práctica interfaz orientada a objetos y procedimientos para memcached, daemon de caché altamente efectivo, que fue especialmente diseñado para disminuir la carga de la base de datos en aplicaciones web dinámicas.

El módulo Memcache también proporciona un controlador de sesión (memcache).

Puede encontrar más información sobre memcached en » http://www.danga.com/memcached/ .

La frustración aquí es causada por el autor de la extensión PHP que fue mal llamada memcached, ya que comparte el mismo nombre que el daemon real llamado memcached. Observe también que en la introducción a memcached (el módulo php), hace mención de libmemcached, que es la biblioteca compartida (o API) que utiliza el módulo para acceder al daemon de memcached:

memcached es un sistema de caché de objetos de memoria distribuida de alto rendimiento, de naturaleza genérica, pero destinado a agilizar aplicaciones web dinámicas aliviando la carga de la base de datos.

Esta extensión usa la biblioteca libmemcached para proporcionar API para comunicarse con los servidores de memcached. También proporciona un controlador de sesión (memcached).

Puede encontrar información sobre libmemcached en » http://tangent.org/552/libmemcached.html .

Posible duplicado:
Usar Memcache frente a Memcached con PHP

¿Alguien puede explicarme la diferencia entre Memcache y Memcached en el entorno de PHP? ¿Cuáles son las ventajas de una sobre la otra? ¿Puede sugerir también los criterios utilizados para elegir entre uno u otro?


Ellos no son idénticos. Memcache es más antiguo pero tiene algunas limitaciones. Estaba usando muy bien en mi aplicación hasta que me di cuenta de que no puedes almacenar FALSE literal en el caché. El valor FALSE devuelto desde la memoria caché es el mismo que FALSO devuelto cuando no se encuentra un valor en la memoria caché. No hay forma de verificar cuál es cuál. Memcached tiene un método adicional (entre otros) Memcached::getResultCode que le indicará si se encontró la clave.

Debido a esta limitación, cambié a almacenar matrices vacías en lugar de FALSE en caché. Todavía estoy usando Memcache, pero solo quería poner esta información a disposición de las personas que están decidiendo.