Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment utiliser les listes triées Redis

Un ensemble trié associe un rang à chaque élément d'un ensemble.

Les ensembles triés fonctionnent de la même manière que les ensembles et utilisent des commandes similaires, à l'exception de S est maintenant Z , par exemple :

  • SADD -> ZADD
  • SPOP -> ZPOP

Mais ils sont légèrement différents.

ZADD accepte un score :

ZADD names 1 "Flavio"
ZADD names 2 "Syd"
ZADD names 2 "Roger"

Comme vous pouvez le voir, les valeurs doivent toujours être uniques, mais maintenant elles sont associées à un score.

Le score n'a pas besoin d'être unique.

Les éléments d'un ensemble sont toujours triés par score.

Ceci est très utile pour implémenter une sorte d'outil de stockage de données comme (exemple habituel) un classement. Ou pour indiquer l'heure à laquelle un élément a été ajouté, avec un horodatage.

Vous pouvez obtenir le score d'un élément en utilisant ZRANK :

ZRANK names "Flavio"

Lister tous les éléments d'un ensemble trié en utilisant ZRANGE , qui fonctionne de manière similaire à LRANGE dans les listes :

ZRANGE names 0 -1

Ajouter WITHSCORES pour renvoyer également les informations sur les scores :

Vous pouvez incrémenter le score d'un élément de l'ensemble en utilisant ZINCRBY .

Voir toutes les commandes d'ensembles triés ici.