Por qué memcached merece un lugar en tu stack de caché

Fuentes: In praise of memcached

En operaciones de infraestructura, elegir la herramienta de caché adecuada condiciona el día a día del equipo. Este artículo explica por qué memcached —un sistema libre de caché en memoria, distribuido y de alto rendimiento— resulta una alternativa más sencilla y robusta que Redis para muchos casos de uso.

El texto parte de un problema habitual: Redis suele introducirse en una aplicación como caché, pero los desarrolladores terminan tratándolo como una base de datos persistente. Cuando el servidor se cae o se reinicia, los datos desaparecen y las alertas no lo detectan porque el equipo de operaciones asume que la caché es volátil. Sustituir Redis por memcached elimina esa trampa: memcached no escribe en disco, por lo que su ciclo de vida es plenamente stateless y se puede desplegar en cualquier nodo.

El autor enumera tres ventajas operativas clave. Primero, las bibliotecas cliente de memcached ignoran las excepciones de conexión, de modo que una caída del servidor no rompe la aplicación: una llamada get devuelve el valor por defecto y el sistema sigue funcionando. Segundo, la alta disponibilidad no requiere un clúster integrado: basta con configurar varias URLs en el cliente, que reparte las claves mediante hashing y descarta automáticamente los nodos caídos, reintentando la reconexión pasado un tiempo. Tercero, la ausencia total de persistencia evita el problema de la falsa durabilidad.

En la práctica, memcached puede ejecutarse en decenas de instancias con apenas 64 MB de caché cada una y un consumo de recursos mínimo. Aun así, el autor recuerda que muchos problemas de rendimiento atribuidos a la base de datos nacen en realidad de consultas mal escritas o de índices faltantes, y anima a ayudar a los desarrolladores a optimizar sus queries antes de añadir más caché.