🎯 Objetivo:
Conocer qué es Redis, cómo funciona como base de datos en memoria y para qué casos es ideal.
🔥 ¿Qué es Redis?
Redis es una base de datos NoSQL que funciona totalmente en memoria, lo que la hace extremadamente rápida para operaciones de lectura y escritura.
-
Almacena datos en formato clave-valor (key-value store).
-
Es open source y muy usada para caché, sesiones, colas y más.
-
Soporta estructuras de datos avanzadas: listas, conjuntos, hashes, etc.
⚙️ Características principales
| Característica | Detalle |
|---|---|
| Almacenamiento | En memoria (RAM), con opción a persistencia en disco. |
| Velocidad | Ultra rápida, microsegundos en respuesta. |
| Modelo de datos | Clave-valor y estructuras complejas. |
| Uso común | Caché, sistema de colas, sesiones web, ranking. |
| Persistencia | Opcional (RDB, AOF). |
| Escalabilidad | Replica y cluster (más avanzado). |
🧩 ¿Cómo funciona Redis?
Redis guarda en memoria pares:
Ejemplo simple:
Esto guarda el valor "Cristian" bajo la clave "usuario:123" y luego lo recupera.
🛠️ Tipos de datos en Redis
| Tipo | Descripción | Ejemplo |
|---|---|---|
| String | Texto o números simples | SET saludo "Hola Mundo" |
| Listas | Listas ordenadas | LPUSH tareas "Estudiar" |
| Sets | Conjuntos sin orden ni duplicados | SADD usuarios_activos "Cristian" |
| Hashes | Estructuras clave-valor dentro de una clave | HSET perfil nombre "Ana" |
| Sorted Sets | Sets ordenados por puntaje | ZADD ranking 100 "Jugador1" |
🚀 Casos de uso comunes
-
Caché para acelerar consultas a bases lentas
-
Sesiones de usuario en aplicaciones web
-
Colas y sistemas de mensajería
-
Ranking y contadores en tiempo real
📝 Actividad práctica
-
Usa Redis CLI para guardar tu nombre con la clave
usuario:mi_nombre. -
Crea una lista llamada
tareasy agrega 3 tareas. -
Consulta la lista completa con
LRANGE tareas 0 -1. -
Crea un hash para un perfil con campos
nombre,edadyemail. -
¿Qué comando usarías para eliminar la clave
usuario:mi_nombre?
✅ Revisión rápida
-
¿Qué hace el comando
SET? -
¿Cómo recuperas un valor guardado?
-
¿Qué tipo de dato usarías para almacenar múltiples tareas ordenadas?