Redis es rico en funciones (estructuras de datos, persistencia, pub/sub); Memcached es simple y multihilo. Ambos reducen carga en la BD. Ejecute en el mismo host para baja latencia o dedique una instancia pequeña. Defina límites de memoria y políticas de expulsión.
Redis vs Memcached
- Redis: Estructuras de datos (strings, hashes, lists, sets), persistencia opcional, pub/sub, scripting Lua. Single-threaded (por núcleo). Bueno cuando necesita más que key-value o persistencia.
- Memcached: Key-value simple; multihilo; sin persistencia. A menudo más rápido para caché puro con alta concurrencia. Menor uso de memoria por clave.
Dimensionamiento y colocación
- Mismo host: Ejecute Redis/Memcached en el servidor de la app para menor latencia. Comparta RAM con la app; defina límite de memoria para que el caché no agote la app.
- Instancia dedicada: VPS pequeño o contenedor solo para caché cuando hay muchos servidores de app o necesita más memoria. Pequeña latencia de red pero compartida en la capa de app.
- Memoria: Asigne suficiente para el working set (claves calientes). Defina maxmemory y política de expulsión (ej. allkeys-lru) para que el servidor no haga OOM.
Buenas prácticas
- Expulsión: Configure política de expulsión (LRU, LFU, etc.) para que cuando la memoria se llene el servidor expulse claves en lugar de fallar.
- Persistencia (Redis): RDB y/o AOF si necesita durabilidad. Para caché puro puede desactivar persistencia.
- Seguridad: Bind a localhost o IP privada; use contraseña si el caché está en red compartida. Restrinja acceso con firewall.
Resumen
Redis = funciones ricas y persistencia opcional; Memcached = caché simple y multihilo. Dimensionar memoria para el working set; defina expulsión; ejecute en mismo host para latencia o dedicado para escala.




