Skip to content

Redis ​

Redis es una base de datos en memoria orientada a estructuras de datos. Se usa como cache, almacen de sesiones, contador, cola ligera, ranking, sistema de Pub/Sub y motor de streams.

Su fuerza esta en la latencia muy baja y en operaciones atomicas sobre tipos como strings, hashes, lists, sets, sorted sets y streams.

Capitulos ​

  1. Introduccion y casos de uso
  2. Tipos de datos
  3. Comandos esenciales
  4. Persistencia
  5. Cache y expiraciones
  6. Pub Sub y streams
  7. Seguridad
  8. Alta disponibilidad
  9. Patrones de uso
  10. Arquitectura interna
  11. Memoria, eviction y rendimiento
  12. Transacciones, Lua y atomicidad
  13. Sentinel, Cluster y escalado
  14. Observabilidad y operacion
  15. Redis en produccion
  16. Proyecto final

Instalacion con Docker ​

bash
docker run --name redis-dev -p 6379:6379 -d redis:7

Conectar:

bash
docker exec -it redis-dev redis-cli

Primeros comandos ​

bash
SET saludo "hola"
GET saludo
INCR contador
EXPIRE saludo 60
TTL saludo

Casos de uso ​

  • Cache de consultas o respuestas HTTP.
  • Sesiones de usuario.
  • Rate limiting.
  • Locks temporales.
  • Rankings.
  • Pub/Sub para notificaciones efimeras.
  • Streams para eventos ligeros con consumidores.

Cuando no usar Redis como base principal ​

Redis no siempre debe ser la fuente de verdad. Si necesitas consultas relacionales complejas, historico grande, integridad referencial o durabilidad estricta, una base como PostgreSQL o SQL Server suele ser mejor.

Buenas practicas iniciales ​

  • Define TTL para datos temporales.
  • Disena nombres de claves consistentes.
  • Estima memoria antes de crecer.
  • Protege Redis a nivel de red.
  • Decide si necesitas persistencia.

Errores comunes ​

  • Exponer Redis publicamente.
  • Usar KEYS * en produccion.
  • Cachear sin estrategia de invalidacion.
  • No configurar expiracion en locks.
  • Pensar que replica equivale a backup.