Redis®*: Redis-codevoorbeeld met Node.js

Deze documentatie maakt deel uit van de Rangschik gebruikers in real-time-gids. Bekijk de volledige gids hier: Leer hoe u 2 miljoen gebruikers per score in real-time kunt rangschikken met Redis.

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare Redis cloud oplossing die tal van voordelen biedt, waaronder:

  • Redis Commander web UI inbegrepen.
  • Onbeperkte berichtgrootte en overdrachten.
  • Moeiteloze updates met slechts één klik.
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en dedicated VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Redis cloud hosting oplossing van Stackhero te proberen!

Na het valideren van het concept in Redis Commander is het tijd om Redis in echte code te integreren. Onze klant gebruikt Node.js en hieronder is een voorbeeld met ioredis als client:

const Redis = require('ioredis');

(async () => {
  // Stel Redis-gegevens in
  // Als u Stackhero gebruikt, vindt u deze op het Stackhero-dashboard
  const redis = new Redis({
    host: '<redisServerHost>',
    password: '<redisServerPassword>',
    port: <PORT_TLS>, // <PORT_CLEAR> is voor niet-versleutelde verbindingen en <PORT_TLS> is voor TLS. TLS moet worden gebruikt.
    tls: {}, // Geef een leeg object om TLS te activeren
    lazyConnect: true
  });

  // Maak verbinding met Redis
  await redis.connect();

  // Voeg gebruikers toe
  await redis.zadd('usersScores', 11, 'userId1');
  await redis.zadd('usersScores', 54, 'userId2');
  await redis.zadd('usersScores', 24, 'userId3');

  // Haal de score van userId1 op
  const score = await redis.zscore('usersScores', 'userId1');
  console.log('userId1 heeft ' + score + ' punten');

  // Haal de rangpositie van userId1 op
  const rankPosition = await redis.zrevrank('usersScores', 'userId1');
  console.log('userId1 staat op positie ' + rankPosition);

  // Verbreek de verbinding met Redis
  await redis.disconnect();
})();

Dit eenvoudige maar krachtige codefragment is ideaal voor het beheren van real-time rangschikkingsgegevens.