Redis®*: Validations techniques
Cette documentation fait partie du guide Classer les utilisateurs en temps réel. Consultez le guide complet ici : Apprenez à classer 2 millions d'utilisateurs par score en temps réel avec Redis.
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution Redis cloud prête à l'emploi offrant de nombreux avantages, notamment :
- Interface web
Redis Commanderincluse.- Taille et transferts de messages illimités.
- Mises à jour simplifiées en un clic.
- Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution d'hébergement Redis cloud de Stackhero !
Les sorted sets combinent une clé et un score. Dans notre cas, la clé est l'ID utilisateur et le score représente les points de l'utilisateur.
Nous avons commencé par lancer un service Redis sur Stackhero. Le service est opérationnel en seulement 2 minutes avec la dernière version stable, propose une facturation à l'heure et dispose de Redis Commander, une interface web pratique. Nous avons validé le concept en utilisant cette interface.
Nous avons ajouté trois utilisateurs avec des IDs et scores d'exemple comme indiqué ci-dessous :
| Nom d'utilisateur | Score | | - | - | | userId1 | 11 | | userId2 | 54 | | userId3 | 24 |
Ces utilisateurs ont été ajoutés à un sorted set appelé usersScores en utilisant les commandes Redis suivantes :
ZADD usersScores 11 "userId1"
ZADD usersScores 54 "userId2"
ZADD usersScores 24 "userId3"
Redis Commander, l'interface web fournie sur Stackhero avec les instances Redis
Ensuite, nous avons récupéré le score de userId1 :
ZSCORE usersScores "userId1"
> 11
Cela a confirmé que le score pour userId1 était bien 11. Après cela, nous avons vérifié le rang de userId1 :
ZREVRANK usersScores "userId1"
> 2
Rappelez-vous, le classement commence à 0. Cela signifie que les classements sont les suivants :
| Nom d'utilisateur | Score | Rang | | - | - | - | | userId1 | 11 | 2 | | userId2 | 54 | 0 | | userId3 | 24 | 1 |
La commande ZREVRANK a retourné 2, ce qui est exactement ce que nous attendions pour userId1.
Vous pouvez également récupérer les meilleures entrées. Par exemple, pour récupérer les 2 premiers utilisateurs (du rang 0 au rang 1) exécutez :
ZREVRANGE usersScores 0 1 WITHSCORES
> 1) userId2
> 2) 54
> 3) userId3
> 4) 24
Pour obtenir les 100 meilleurs utilisateurs, exécutez simplement :
ZREVRANGE usersScores 0 99 WITHSCORES
Cette approche est efficace et parfaitement adaptée au classement en temps réel haute performance.