Redis®*: Esempio di codice Redis con Node.js

Questa documentazione fa parte della guida Classificare gli utenti in tempo reale. Consulta la guida completa qui: Scopri come classificare 2 milioni di utenti per punteggio in tempo reale utilizzando Redis.

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione Redis cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Interfaccia web Redis Commander inclusa.
  • Dimensione e trasferimenti di messaggi illimitati.
  • Aggiornamenti senza sforzo con un solo clic.
  • Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplifica la tua vita: bastano solo 5 minuti per provare la soluzione di hosting Redis cloud di Stackhero!

Dopo aver validato il concetto in Redis Commander, è il momento di integrare Redis nel codice reale. Il nostro cliente utilizza Node.js e di seguito è riportato un esempio utilizzando ioredis come client:

const Redis = require('ioredis');

(async () => {
  // Impostare le credenziali Redis
  // Se usate Stackhero, le troverete sulla dashboard di Stackhero
  const redis = new Redis({
    host: '<redisServerHost>',
    password: '<redisServerPassword>',
    port: <PORT_TLS>, // <PORT_CLEAR> è per connessioni non sicure e <PORT_TLS> è per TLS. TLS dovrebbe essere utilizzato.
    tls: {}, // Fornire un oggetto vuoto per attivare TLS
    lazyConnect: true
  });

  // Connettersi a Redis
  await redis.connect();

  // Aggiungere utenti
  await redis.zadd('usersScores', 11, 'userId1');
  await redis.zadd('usersScores', 54, 'userId2');
  await redis.zadd('usersScores', 24, 'userId3');

  // Recuperare il punteggio di userId1
  const score = await redis.zscore('usersScores', 'userId1');
  console.log('userId1 ha ' + score + ' punti');

  // Recuperare la posizione di classifica di userId1
  const rankPosition = await redis.zrevrank('usersScores', 'userId1');
  console.log('userId1 è classificato alla posizione ' + rankPosition);

  // Disconnettersi da Redis
  await redis.disconnect();
})();

Questo semplice ma potente frammento di codice è ideale per gestire i dati di classificazione in tempo reale.