Redis®*: Ejemplo de código Redis usando Node.js
Esta documentación forma parte de la guía Clasificar usuarios en tiempo real. Consulte la guía completa aquí: Aprenda a clasificar 2 millones de usuarios por puntuación en tiempo real usando Redis.
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece una solución Redis cloud lista para usar que proporciona numerosas ventajas, entre ellas:
- Interfaz web Redis Commander incluida.
- Tamaño y transferencia de mensajes ilimitados.
- Actualizaciones sencillas con solo un clic.
- Rendimiento óptimo y seguridad reforzada gracias a una infraestructura privada y dedicada.
Ahorre tiempo y simplifique su trabajo: solo necesita 5 minutos para probar la solución de alojamiento Redis cloud de Stackhero.
Después de validar el concepto en Redis Commander, es hora de integrar Redis en código real. Nuestro cliente usa Node.js y a continuación se muestra un ejemplo usando ioredis como cliente:
const Redis = require('ioredis');
(async () => {
// Establecer credenciales de Redis
// Si usa Stackhero, las encontrará en el panel de Stackhero
const redis = new Redis({
host: '<redisServerHost>',
password: '<redisServerPassword>',
port: <PORT_TLS>, // <PORT_CLEAR> es para conexiones no seguras y <PORT_TLS> es para TLS. Se debe usar TLS.
tls: {}, // Proporcione un objeto vacío para activar TLS
lazyConnect: true
});
// Conectar a Redis
await redis.connect();
// Añadir usuarios
await redis.zadd('usersScores', 11, 'userId1');
await redis.zadd('usersScores', 54, 'userId2');
await redis.zadd('usersScores', 24, 'userId3');
// Recuperar puntuación de userId1
const score = await redis.zscore('usersScores', 'userId1');
console.log('userId1 tiene ' + score + ' puntos');
// Recuperar posición de rango de userId1
const rankPosition = await redis.zrevrank('usersScores', 'userId1');
console.log('userId1 está clasificado en la posición ' + rankPosition);
// Desconectar de Redis
await redis.disconnect();
})();
Este fragmento de código simple pero poderoso es ideal para gestionar datos de clasificación en tiempo real.