Memcached es un sistema libre y open-source de caché distribuido de objetos en memoria.
Memcached tiene versiones para Linux, Windows y MacOS y se distribuye bajo licencia open source.
Memcached tiene un diseño muy simple pensando en un simple despliegue y acceso.
Es empleado por múltiples sitios web:
para el almacenamiento en caché de datos en la memoria RAM, reduciendo así las necesidades de acceso a un origen de datos externo:
Ofrece APIs cliente para la mayoría de lenguajes como C, C++, Java, PHP, Python, Perl, .NET, …
Incluyendo protocolo Telnet:
En el caso de Java hay múltiples librerías e integraciones, por ejemplo con Spring que permite usarlo así:
Dada su arquitectura es importante conocer cómo funciona memcached para saber si encaja en nuestro escenario, ahí van algunas consideraciones:
· Memcached usa una arquitectura cliente-servidor: Los clientes usan librerías cliente para acceder a los servidores, cada cliente mantiene una lista de todos los servidores, los servidores no se comunican entre ellos (link)
· Los servidores mantienen un array asociativo clave-valor (los datos pueden tener un tamaño de hasta 1 Mbyte). Por tanto no permite realizar consultas complejas ni puede actuar como DataGrid.
· El servidor mantiene los valores en RAM
si un servidor agota su memoria, descarta los valores más antiguos.
· Memcached está pensada como una caché transitoria de por ejemplo una base de datos como en el ejemplo: (aunque se puede complementar con MemcacheDB y/o con Membase)
· Memcached está pensado para actuar en redes corporativas "de confianza", donde los clientes se pueden conectar libremente a cualquier servidor. Si se quiere implementar seguridad se debe compilar con el soporte de autenticación SASL.









Deja un comentario