Todo en memoria
Redis guarda cada dato bajo una clave y lo devuelve en microsegundos. Al terminar sabrás elegir el tipo de valor correcto y qué pasa cuando se va la luz.
Primero, la idea completa
Mira el video entero o salta a la parte que quieras repasar. Después, cada idea tiene su propia escena para tocarla.
Un diccionario gigante en memoria
Redis (REmote DIctionary Server) es una base de datos clave-valor: guarda pares donde cada clave aparece una sola vez y apunta a un valor. No hay tablas ni consultas por contenido: se pide un valor por su clave, y ya. Para la base de datos, el valor es un agregado opaco: no le interesa qué hay adentro, eso lo decide la aplicación.
Lo que lo hace especial es que vive en memoria: leer y escribir toma microsegundos. Por eso se usa como caché de consultas lentas, para guardar sesiones de usuarios, contadores, colas de tareas y rankings en tiempo real.
Las claves son texto. Una convención común es usar dos puntos para darles estructura: user:42, sesion:abc123, carrito:42.
Cinco formas de guardar
El valor de una clave puede ser un texto (string, de hasta 512 MB) o un contenedor de textos:
Elige un caso de uso y el tipo que usarías. Redis te muestra cómo quedaría guardado.
- String: un texto o número.
SET,GET,APPEND,INCR. - Hash: un objeto con campos.
HSET user:1 nombre Ana edad 30,HGET,HGETALL,HKEYS,HVALS,HDEL. - List: una secuencia ordenada por llegada.
LPUSHyRPUSHagregan por un extremo,LPOPyRPOPsacan,LRANGElee un tramo. - Set: un conjunto sin repetidos.
SADD,SMEMBERS,SISMEMBER,SINTER. - Sorted set: un conjunto donde cada miembro tiene un puntaje y se mantiene ordenado.
ZADD,ZRANGE,ZREVRANGE … WITHSCORES.
Sin carreras
Redis atiende los comandos uno a la vez, así que cada comando es atómico: nadie se mete a la mitad. Eso evita, sin bloqueos, problemas como la actualización perdida del módulo anterior. Además hay comandos que hacen dos cosas en un solo paso:
INCR visitas: lee, suma uno y guarda, todo de una vez.SETNX clave valor: escribe solo si la clave no existe (útil para “el primero que llegue”).GETSET clave valor: devuelve el valor viejo y pone el nuevo.SET clave valor EX 60oEXPIRE clave 60: la clave se borra sola a los 60 segundos.TTLdice cuánto le queda.
Dos servidores web cuentan visitas en la misma clave, al mismo tiempo. Compara leer-sumar-escribir con INCR.
Memoria, persistencia y réplicas
Lo que está en memoria se pierde al apagar el servidor. Para usar Redis como algo más que una caché, se activa la persistencia, que tiene dos modos:
- Instantáneas (RDB): cada cierto tiempo guarda una foto completa de la memoria en disco. Al reiniciar, vuelve a esa foto: se pierde lo posterior.
- Bitácora de comandos (AOF): anota cada comando que modifica datos. Al reiniciar, los vuelve a ejecutar. Pierde muy poco, a cambio de un archivo más grande.
Para alta disponibilidad, Redis puede tener un maestro con réplicas (esclavos) que toman su lugar si cae, o formar un clúster que reparte las claves entre varios maestros. Con Docker se levanta un servidor en segundos, y con redis-cli -h servidor se conecta un cliente.
Antes de leer la respuesta
El reloj del servidor avanza solo, un segundo por segundo. Si no quieres esperar, usa ⏩ +5 s. Para la última misión, elige un modo de persistencia antes de apagar el servidor.
Tu turno: redis-cli
Un redis-cli conectado a un servidor Redis. Arriba ves cada clave con su tipo, su valor y, si la tiene, la cuenta regresiva de su expiración.
Comprueba lo que entendiste
Cada respuesta incorrecta explica por qué parece correcta y en qué falla.