Pixelaula.
Administración y NoSQL · Lección 4 de 5

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.

⏱ 25–35 min▶ Video de 90 s🧪 Laboratorio con 4 misiones
00 · En 90 segundos

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.

    01 · La idea

    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.

    02 · Los tipos de valor

    Cinco formas de guardar

    El valor de una clave puede ser un texto (string, de hasta 512 MB) o un contenedor de textos:

    Escena 1

    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. LPUSH y RPUSH agregan por un extremo, LPOP y RPOP sacan, LRANGE lee 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.
    03 · Operaciones atómicas

    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 60 o EXPIRE clave 60: la clave se borra sola a los 60 segundos. TTL dice cuánto le queda.
    Escena 2

    Dos servidores web cuentan visitas en la misma clave, al mismo tiempo. Compara leer-sumar-escribir con INCR.

    04 · ¿Y si se va la luz?

    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.

    05 · Predice

    Antes de leer la respuesta

    Truco para tu laboratorio
    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.
    Laboratorio

    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.

    Repaso

    Comprueba lo que entendiste

    Cada respuesta incorrecta explica por qué parece correcta y en qué falla.