Redis®*: Validações técnicas
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 disponibiliza uma solução Redis cloud pronta a usar, que oferece várias vantagens, incluindo:
- Interface web Redis Commander incluída.
- Tamanho e transferências de mensagens ilimitados.
- Atualizações fáceis com apenas um clique.
- Performance otimizada e segurança reforçada, graças a uma infraestrutura privada e dedicada.
Poupe tempo e simplifique a sua vida: bastam 5 minutos para experimentar a solução de alojamento Redis cloud da Stackhero!
Os sorted sets combinam uma chave e uma pontuação. No nosso caso, a chave é o ID do utilizador e a pontuação representa os pontos do utilizador.
Começámos por lançar um serviço Redis na Stackhero. O serviço está ativo em apenas 2 minutos com a última versão estável, oferece faturação por hora e possui o Redis Commander, uma interface web prática. Validámos o conceito usando esta interface.
Adicionámos três utilizadores com IDs e pontuações de exemplo como mostrado abaixo:
| Nome de Utilizador | Pontuação |
|---|---|
| userId1 | 11 |
| userId2 | 54 |
| userId3 | 24 |
Estes utilizadores foram adicionados a um sorted set chamado usersScores usando os seguintes comandos Redis:
ZADD usersScores 11 "userId1"
ZADD usersScores 54 "userId2"
ZADD usersScores 24 "userId3"
Redis Commander, a interface web fornecida na Stackhero com instâncias Redis
Em seguida, recuperámos a pontuação de userId1:
ZSCORE usersScores "userId1"
> 11
Isto confirmou que a pontuação para userId1 era de facto 11. Depois disso, verificámos a classificação de userId1:
ZREVRANK usersScores "userId1"
> 2
Lembre-se, a classificação começa em 0. Isto significa que as classificações são as seguintes:
| Nome de Utilizador | Pontuação | Classificação |
|---|---|---|
| userId1 | 11 | 2 |
| userId2 | 54 | 0 |
| userId3 | 24 | 1 |
O comando ZREVRANK retornou 2, que é exatamente o que esperávamos para userId1.
Também pode obter as entradas principais. Por exemplo, para recuperar os primeiros 2 utilizadores (da classificação 0 à classificação 1) execute:
ZREVRANGE usersScores 0 1 WITHSCORES
> 1) userId2
> 2) 54
> 3) userId3
> 4) 24
Para obter os 100 melhores utilizadores, basta executar:
ZREVRANGE usersScores 0 99 WITHSCORES
Esta abordagem é eficiente e perfeitamente adequada para classificação em tempo real de alto desempenho.