Redis®*: Exemplo de código Redis usando Node.js

Esta documentação faz parte do guia Classificar utilizadores em tempo real. Consulte o guia completo aqui: Aprenda a classificar 2 milhões de utilizadores por pontuação em tempo real usando Redis.

👋 Bem-vindo à documentação da Stackhero!

A Stackhero oferece uma solução Redis cloud pronta a usar que proporciona uma série de benefícios, incluindo:

  • Interface web Redis Commander incluída.
  • Tamanho e transferências de mensagens ilimitados.
  • Atualizações simplificadas com apenas um clique.
  • Desempenho ótimo e segurança robusta garantidos por uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: são necessários apenas 5 minutos para experimentar a solução de hospedagem Redis cloud da Stackhero!

Após validar o conceito no Redis Commander, é hora de integrar o Redis em código real. O nosso cliente usa Node.js e abaixo está um exemplo usando ioredis como cliente:

const Redis = require('ioredis');

(async () => {
  // Definir credenciais Redis
  // Se usar Stackhero, encontrará estas no painel de controlo Stackhero
  const redis = new Redis({
    host: '<redisServerHost>',
    password: '<redisServerPassword>',
    port: <PORT_TLS>, // <PORT_CLEAR> é para conexões não seguras e <PORT_TLS> é para TLS. TLS deve ser usado.
    tls: {}, // Fornecer um objeto vazio para ativar TLS
    lazyConnect: true
  });

  // Conectar ao Redis
  await redis.connect();

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

  // Recuperar pontuação de userId1
  const score = await redis.zscore('usersScores', 'userId1');
  console.log('userId1 tem ' + score + ' pontos');

  // Recuperar posição de classificação de userId1
  const rankPosition = await redis.zrevrank('usersScores', 'userId1');
  console.log('userId1 está classificado na posição ' + rankPosition);

  // Desconectar do Redis
  await redis.disconnect();
})();

Este simples mas poderoso trecho de código é ideal para gerir dados de classificação em tempo real.