En elogio de memcached

Acusaciones escritas por IA y metadiscusión

  • Varios comentaristas objetan la afirmación refleja de “esto está escrito por IA”, calificándola de poco valor y ahora común en HN.
  • Otros creen que el artículo “se lee como IA” o que al menos fue pulido por un LLM, pero no hay consenso ni pruebas, y algunos señalan formulaciones informales concretas como improbables en un LLM.

Redis vs Memcached como tecnologías de caché

  • Muchos coinciden en que Redis funciona bien como caché, pero necesita una configuración cuidadosa: imponer expiraciones, desactivar o separar la persistencia, establecer maxmemory y la política de expulsión, y evitar estructuras complejas para objetos en caché.
  • Un tema importante: Redis intenta ser a la vez un almacén persistente y una caché volátil; esa dualidad facilita el mal uso (por ejemplo, tratarlo como una base de datos duradera, olvidar la expulsión).
  • Memcached es elogiado por ser “aburrido”, simple, puramente efímero y más difícil de mal usar como almacenamiento. Su falta de clustering y de funciones se ve como una virtud por algunos y una limitación por otros.

Problemas operativos y modos de fallo

  • Incidentes reportados de Redis/Valkey: sin expulsión, lo que lleva a OOM; fallos de escritura de AOF por disco lleno; aplicaciones que asumen que Redis siempre está disponible y poblado, sin plan alternativo.
  • A algunos les gusta el modelo de memcached de “fail open” (null ante un fallo → recomputar), otros creen que el fallo silencioso es peligroso y prefieren errores explícitos.
  • La asignación de slabs de memcached puede causar “slab starvation” y requiere ajustes; esto se cita como una complejidad oculta.

Rendimiento, complejidad y alternativas

  • Se afirma que memcached es significativamente más rápido para KV simples; las contraafirmaciones dicen que en el mundo real las diferencias pueden ser pequeñas y que la latencia de red domina.
  • Algunos sostienen que un SGBDR (p. ej., Postgres/MariaDB) con su propia caché es suficiente para la mayoría de las cargas; otros señalan que Redis es más simple que una base de datos completa y sobresale cuando está en la misma máquina.
  • Se debate entre Redis de un solo hilo y memcached multihilo; Redis puede detenerse ante operaciones complejas, mientras que memcached apunta a operaciones O(1) por diseño.

Casos de uso más amplios y deriva del ecosistema

  • Redis se usa más allá de la caché: limitación de tasa, flags de funcionalidad, pub/sub, backplanes de WebSocket, colas de trabajos, coordinación para tareas distribuidas.
  • Algunos prefieren separar responsabilidades: memcached (o BD+filesystem) para caché, y Redis con persistencia para funciones intensivas en estructuras de datos.
  • Hay críticas al crecimiento de funciones de Redis y a su marketing (incluida la posición sobre IA), y mención de Valkey y otros sistemas, pero sin consenso claro de que una herramienta “gane” en general.