Um conjunto ordenado associa uma classificação a cada item de um conjunto.
Os conjuntos classificados funcionam de maneira semelhante aos conjuntos e usam comandos semelhantes, exceto
S
agora é Z
, por exemplo:SADD
->ZADD
SPOP
->ZPOP
Mas eles são um pouco diferentes.
ZADD
aceita uma pontuação :ZADD names 1 "Flavio"
ZADD names 2 "Syd"
ZADD names 2 "Roger"
Como você pode ver, os valores ainda devem ser únicos, mas agora estão associados a uma pontuação.
A pontuação não precisa ser única.
Os itens em um conjunto são sempre classificados pela pontuação.
Isso é muito útil para implementar algum tipo de ferramenta de armazenamento de dados como (exemplo usual) uma tabela de classificação. Ou para indicar a hora em que algum item foi adicionado, com um carimbo de data/hora.
Você pode obter a pontuação de um item usando
ZRANK
:ZRANK names "Flavio"
Liste todos os itens em um conjunto ordenado usando
ZRANGE
, que funciona de forma semelhante a LRANGE
em listas:ZRANGE names 0 -1

Adicionar
WITHSCORES
para retornar também as informações de pontuação:
Você pode incrementar a pontuação de um item no conjunto usando
ZINCRBY
. Veja todos os comandos de conjuntos ordenados aqui.