Creación de Aplicaciones Node.js con Redis y Promesas
Clase 18 de 20 • Curso de Azure Cache para Redis
Resumen
¿Cómo crear una aplicación de consola con Node.js y Redis?
Para desarrollar una aplicación de consola que se conecte a un servicio de Redis usando Node.js, es fundamental comprender cómo interactúan las diferentes librerías y cómo implementar comandos básicos de I/O en Redis. En esta guía, te explicamos cómo instalar y configurar tu entorno para conectar Node.js con Redis, y te proporcionamos ejemplos prácticos de su implementación.
¿Qué necesitamos instalar?
El primer paso es preparar nuestro entorno de desarrollo. Aquí es esencial contar con Node.js y dos librerías fundamentales:
- Redis: Cliente ligero para Node.js.
- Bluebird: Librería recomendada para convertir funciones no asíncronas a promesas, dado que el cliente de Redis no soporta promesas por defecto.
Para instalar estas librerías, debemos usar el siguiente comando en la terminal:
npm install redis bluebird
¿Cómo configurar Visual Studio Code?
Una vez instaladas las librerías, abrimos Visual Studio Code. Este IDE reconocerá automáticamente los paquetes que hayas instalado y sugerirá cualquier otra instalación necesaria para trabajar con Node.js.
Para este proyecto, crearemos un nuevo archivo llamado redis-test.js
. En él, importaremos las librerías mediante el uso de require
:
const redis = require('redis');
const bluebird = require('bluebird');
Dado que Redis no soporta promesas originalmente, usaremos Bluebird para habilitar esta funcionalidad:
bluebird.promisifyAll(redis.RedisClient.prototype);
bluebird.promisifyAll(redis.Multi.prototype);
¿Cómo conectar el cliente de Redis?
Para inicializar un cliente de Redis, debemos definir variables de entorno que contengan detalles sobre el servidor y la autenticación. A continuación, en el archivo redis-test.js
, configuramos la conexión:
const connection = redis.createClient(
6380,
process.env.REDIS_HOSTNAME,
{
auth_pass: process.env.REDIS_KEY,
tls: { servername: process.env.REDIS_HOSTNAME }
}
);
¿Cómo probar la conexión con Redis?
Una vez configurada la conexión, es momento de probarla. Utilizaremos el comando ping
asíncrono para verificar que la conexión es exitosa:
async function testCacheConnection() {
try {
const response = await connection.pingAsync();
console.log(response); // Should print "pong"
} catch (error) {
console.error('Error connecting to Redis:', error);
} finally {
process.exit();
}
}
testCacheConnection();
¿Cómo ejecutar comandos básicos de Redis?
Adicionalmente al comando ping
, es común usar comandos como set
y get
para almacenar y recuperar claves:
async function manipulateData() {
try {
// Obtener datos
const response1 = await connection.getAsync('plasticKey');
console.log('Value:', response1);
// Establecer nuevos datos
const newValue = `Hello from Node.js ${Math.floor(Math.random() * 1000)}`;
await connection.setAsync('plasticKey', newValue);
// Verificar nuevos datos
const response2 = await connection.getAsync('plasticKey');
console.log('New Value:', response2);
} catch (error) {
console.error('Command error:', error);
} finally {
process.exit();
}
}
manipulateData();
¿Cuál es la tarea para seguir aprendiendo?
Te animamos a continuar explorando Redis con Node.js. Como ejercicio práctico, implementa comandos para manipular listas, hashes, y práctica con múltiples get
y set
. Para los usuarios más avanzados, intenta serializar un objeto en JSON y manejarlo directamente en Redis.
Este aprendizaje no sólo fortalecerá tus habilidades técnicas sino que te acercará un paso más a la maestría en desarrollo de aplicaciones con Node.js y Redis. ¡No te detengas y sigue explorando el vasto mundo del desarrollo!