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 Commanderincluí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.