Lección 3 de 21 · Lectura y práctica
Práctica: Configurar Redis Local y Conectar una Aplicación Backend
Tipo de lección: VideoConcepto claveConfigurar Redis en un entorno local es el primer paso para integrarlo en tu aplicación backend. Piensa en Redis como un almacén de datos en memoria que actúa como una capa intermedia entre tu.
Del concepto a la práctica
Taller de esta lección
Una conexión backend útil tiene tres estados verificables: creada, lista y cerrada. La aplicación no debe asumir que importar el cliente equivale a estar conectada. Conviene centralizar la URL y capturar el evento de error para que una caída no quede oculta.
Ejemplo resuelto
En un laboratorio Node.js con un cliente Redis ya disponible, la secuencia conceptual es:
import { createClient } from "redis";
const client = createClient({ url: "redis://localhost:6379" });
client.on("error", err => console.error("redis_connection_error"));
await client.connect();
await client.set("prueba:42", "ok", { EX: 20 });
console.log(await client.get("prueba:42"));
await client.close();La salida esperada es ok; el cierre libera la conexión del proceso.
Ejemplo para node-redis5 como módulo ESM, con cierre graceful close; quit pertenece a ejemplos anteriores y fue deprecado. El cliente de aplicación se conecta una vez y no se cierra por petición. En un script de prueba coloca cierre en finally, con destroy para desconexión forzada si la versión lo requiere. isOpen indica socket y no equivale a isReady para comandos; configura reconexión/timeout acotados y redacción de errores según el cliente instalado.
Pruébalo
Arranca Redis localmente.
Configura la URL mediante una variable de entorno de prueba.
Conecta y guarda una clave temporal.
Lee la clave y cierra el cliente.
Comprueba tu resultado
Error frecuente: continuar ejecutando consultas después de cerrar el cliente. Corrige separando la fase de trabajo del cierre. Resultado esperado: una lectura ok, ningún secreto impreso y un proceso que termina sin dejar conexiones abiertas.

Mapa de prácticaUna condición decide qué camino ejecuta el programa. Un bucle repite una operación mientras queden elementos, y termina cuando la lista se agota. Separar ambas ideas ayuda a seguir el flujo y comprobar casos límite.
Ver la infografía en tamaño completo ↗Tipo de lección: Video
Concepto clave
Configurar Redis en un entorno local es el primer paso para integrarlo en tu aplicación backend. Piensa en Redis como un almacén de datos en memoria que actúa como una capa intermedia entre tu aplicación y las bases de datos tradicionales. En producción, esta configuración inicial determina la estabilidad y rendimiento de funcionalidades como cache, sesiones y colas.
Una analogía útil es comparar Redis con una memoria de trabajo en tu cerebro: mientras las bases de datos SQL son como tu memoria a largo plazo (lenta pero permanente), Redis es esa memoria inmediata que te permite acceder rápidamente a información frecuente. Configurarlo correctamente significa optimizar cómo tu aplicación "piensa" y responde a las solicitudes.
Cómo funciona en la práctica
Vamos a configurar Redis localmente y conectarlo a una aplicación backend simple. Sigue estos pasos:
- Instala Redis usando Docker:
docker run --name redis-local -p 6379:6379 -d redis:alpine - Verifica que esté corriendo:
docker psdebe mostrar el contenedor activo. - Crea una aplicación Node.js básica e instala el cliente Redis:
npm install redis - En tu código, configura la conexión:
const redis = require('redis'); const client = redis.createClient({ host: 'localhost', port: 6379 }); client.on('connect', () => console.log('Conectado a Redis')); - Prueba la conexión con un comando simple:
client.set('test', 'valor', redis.print);
Este flujo te permite simular un entorno de producción donde Redis manejará datos temporales. La clave está en entender que cada configuración (como el puerto o el host) afecta cómo tu backend interactúa con el servicio.
Caso de estudio
Imagina una aplicación de e-commerce que usa Redis para cache de productos. Cada vez que un usuario busca un producto, la aplicación primero consulta Redis. Si el dato no está en cache, lo busca en la base de datos principal y luego lo almacena en Redis para futuras consultas.
| Escenario | Sin Redis | Con Redis |
|---|---|---|
| Tiempo de respuesta | 200ms | 50ms |
| Carga en base de datos | Alta (1000 consultas/min) | Baja (100 consultas/min) |
| Disponibilidad | Depende de la BD | Mejorada con redundancia |
En producción, una configuración adecuada puede reducir la latencia en un 75% y disminuir la carga en tu base de datos principal.
Errores comunes
- No configurar persistencia: En entornos locales, es fácil olvidar que Redis por defecto no guarda datos en disco. Usa configuraciones como
saveen redis.conf para evitar pérdidas. - Mal manejo de conexiones: Dejar conexiones abiertas puede agotar los recursos. Siempre cierra las conexiones después de usarlas o usa pools de conexiones.
- Ignorar la seguridad: En local, es común no usar contraseñas, pero en producción esto es crítico. Configura
requirepassdesde el inicio. - Subestimar la memoria: Redis almacena todo en RAM. Si no monitoreas el uso de memoria, puedes saturar el servidor. Usa
maxmemorypara límites.
Checklist de dominio
- Redis instalado y corriendo en local (puerto 6379 accesible).
- Conexión establecida desde tu aplicación backend sin errores.
- Capacidad de realizar operaciones básicas: SET, GET, DEL.
- Configuración de persistencia habilitada para pruebas de recuperación.
- Manejo adecuado de errores en la conexión (timeouts, desconexiones).
- Uso de un cliente Redis compatible con tu stack tecnológico (Node.js, Python, etc.).
- Entendimiento de cómo escalar esta configuración a un entorno de producción.
Configurar Redis Local y Conectar una API REST
Sigue estos pasos para crear una configuración funcional de Redis en tu máquina local y conectarla a una aplicación backend simple.
- Instala Redis usando Docker con el comando:
docker run --name redis-prod-practice -p 6379:6379 -d redis:alpine redis-server --appendonly yes - Verifica la instalación ejecutando
docker exec -it redis-prod-practice redis-cli ping. Debe responder "PONG". - Crea un proyecto Node.js nuevo con
npm init -ye instala las dependencias:npm install express redis - Crea un archivo
app.jscon un endpoint GET /cache que:- Conecte a Redis en localhost:6379
- Al recibir una petición, verifique si existe una clave "ultima_consulta"
- Si existe, devuelva su valor; si no, guarde la fecha actual y devuélvala
- Ejecuta la aplicación con
node app.jsy prueba el endpoint con curl o Postman. - Reinicia el contenedor de Redis y verifica que los datos persistan (gracias a --appendonly yes).
Pistas
- Asegúrate de que el puerto 6379 no esté en uso por otra aplicación.
- Usa
client.get()yclient.set()en tu código Node.js para interactuar con Redis. - Si la conexión falla, revisa los logs de Docker con
docker logs redis-prod-practice.
Evalua tu comprension
Completa el quiz interactivo de arriba para ganar XP.
Sigue con Redis en Producción: Cache, Sesiones y Colas para Backend Engineers
Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.
Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.