Un set ordinato associa un rango a ciascun elemento di un set.
Gli insiemi ordinati funzionano in modo simile agli insiemi e usano comandi simili, tranne S
ora è Z
, ad esempio:
SADD
->ZADD
SPOP
->ZPOP
Ma sono leggermente diversi.
ZADD
accetta un punteggio :
ZADD names 1 "Flavio"
ZADD names 2 "Syd"
ZADD names 2 "Roger"
Come puoi vedere, i valori devono essere ancora univoci, ma ora sono associati a un punteggio.
Il punteggio non deve essere univoco.
Gli elementi in un set sono sempre ordinati in base al punteggio.
Questo è molto utile per implementare una sorta di strumento di archiviazione dati come (normale esempio) una classifica. O per indicare l'ora in cui è stato aggiunto un elemento, con un timestamp.
Puoi ottenere il punteggio di un oggetto usando ZRANK
:
ZRANK names "Flavio"
Elenca tutti gli articoli in un set ordinato usando ZRANGE
, che funziona in modo simile a LRANGE
negli elenchi:
ZRANGE names 0 -1
Aggiungi WITHSCORES
per restituire anche le informazioni sui punteggi:
Puoi aumentare il punteggio di un oggetto nel set usando ZINCRBY
.
Vedi tutti i comandi degli insiemi ordinati qui.