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
- Introduccion y casos de uso
- Tipos de datos
- Comandos esenciales
- Persistencia
- Cache y expiraciones
- Pub Sub y streams
- Seguridad
- Alta disponibilidad
- Patrones de uso
- Arquitectura interna
- Memoria, eviction y rendimiento
- Transacciones, Lua y atomicidad
- Sentinel, Cluster y escalado
- Observabilidad y operacion
- Redis en produccion
- Proyecto final
Instalacion con Docker
bash
docker run --name redis-dev -p 6379:6379 -d redis:7Conectar:
bash
docker exec -it redis-dev redis-cliPrimeros comandos
bash
SET saludo "hola"
GET saludo
INCR contador
EXPIRE saludo 60
TTL saludoCasos 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.
