Redis®*: Exemple de code Redis avec Node.js
Cette documentation fait partie du guide Classer les utilisateurs en temps réel. Consultez le guide complet ici : Apprenez à classer 2 millions d'utilisateurs par score en temps réel avec Redis.
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution Redis cloud prête à l'emploi offrant de nombreux avantages, notamment :
- Interface web
Redis Commanderincluse.- Taille et transferts de messages illimités.
- Mises à jour simplifiées en un clic.
- Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution d'hébergement Redis cloud de Stackhero !
Après avoir validé le concept dans Redis Commander, il est temps d'intégrer Redis dans du code réel. Notre client utilise Node.js et voici un exemple utilisant ioredis comme client :
const Redis = require('ioredis');
(async () => {
// Définir les identifiants Redis
// Si vous utilisez Stackhero, vous les trouverez sur le tableau de bord Stackhero
const redis = new Redis({
host: '<redisServerHost>',
password: '<redisServerPassword>',
port: <PORT_TLS>, // <PORT_CLEAR> est pour les connexions non sécurisées et <PORT_TLS> est pour TLS. TLS doit être utilisé.
tls: {}, // Fournir un objet vide pour activer TLS
lazyConnect: true
});
// Se connecter à Redis
await redis.connect();
// Ajouter des utilisateurs
await redis.zadd('usersScores', 11, 'userId1');
await redis.zadd('usersScores', 54, 'userId2');
await redis.zadd('usersScores', 24, 'userId3');
// Récupérer le score de userId1
const score = await redis.zscore('usersScores', 'userId1');
console.log('userId1 a ' + score + ' points');
// Récupérer la position de classement de userId1
const rankPosition = await redis.zrevrank('usersScores', 'userId1');
console.log('userId1 est classé à la position ' + rankPosition);
// Se déconnecter de Redis
await redis.disconnect();
})();
Ce simple mais puissant extrait de code est idéal pour gérer les données de classement en temps réel.