Redis - conjuntos classificados

Os conjuntos classificados do Redis são semelhantes aos conjuntos do Redis com o recurso exclusivo de valores armazenados em um conjunto. A diferença é que cada membro de um conjunto classificado está associado a uma pontuação, que é usada para obter o conjunto classificado ordenado, da menor para a maior pontuação.

No conjunto classificado do Redis, adicione, remova e teste a existência de membros em O (1) (tempo constante, independentemente do número de elementos contidos no conjunto). O comprimento máximo de uma lista é de 2 32 - 1 elementos (4294967295, mais de 4 bilhões de elementos por conjunto).

Exemplo

redis 127.0.0.1:6379> ZADD tutorials 1 redis 
(integer) 1 
redis 127.0.0.1:6379> ZADD tutorials 2 mongodb 
(integer) 1 
redis 127.0.0.1:6379> ZADD tutorials 3 mysql 
(integer) 1 
redis 127.0.0.1:6379> ZADD tutorials 3 mysql 
(integer) 0 
redis 127.0.0.1:6379> ZADD tutorials 4 mysql 
(integer) 0 
redis 127.0.0.1:6379> ZRANGE tutorials 0 10 WITHSCORES  
1) "redis" 
2) "1" 
3) "mongodb" 
4) "2" 
5) "mysql" 
6) "4"

No exemplo acima, três valores são inseridos com sua pontuação no conjunto classificado do Redis denominado 'tutoriais' pelo comando ZADD.

Comandos de conjuntos classificados do Redis

A tabela a seguir lista alguns comandos básicos relacionados a conjuntos classificados.

Sr. Não Comando e Descrição
1 ZADD chave score1 member1 [score2 member2]

Adiciona um ou mais membros a um conjunto classificado ou atualiza sua pontuação, se já existir

2 Chave ZCARD

Obtém o número de membros em um conjunto classificado

3 ZCOUNT chave mín. Máx.

Conta os membros em um conjunto classificado com pontuações dentro dos valores dados

4 Membro de incremento de chave ZINCRBY

Aumenta a pontuação de um membro em um conjunto classificado

5 ZINTERSTORE destino numkeys tecla [tecla ...]

Cruza vários conjuntos classificados e armazena o conjunto classificado resultante em uma nova chave

6 ZLEXCOUNT chave mín. Máx.

Conta o número de membros em um conjunto classificado entre um determinado intervalo lexicográfico

7 ZRANGE key start stop [WITHSCORES]

Retorna um intervalo de membros em um conjunto classificado, por índice

8 ZRANGEBYLEX chave min max [LIMIT offset count]

Retorna um intervalo de membros em um conjunto classificado, por intervalo lexicográfico

9 ZRANGEBYSCORE chave mín. Máx. [WITHSCORES] [LIMIT]

Retorna um intervalo de membros em um conjunto classificado, por pontuação

10 Membro chave do ZRANK

Determina o índice de um membro em um conjunto classificado

11 Membro-chave da ZREM [membro ...]

Remove um ou mais membros de um conjunto classificado

12 ZREMRANGEBYLEX chave mín. Máx.

Remove todos os membros em um conjunto classificado entre o intervalo lexicográfico fornecido

13 ZREMRANGEBYRANK iniciar parada chave

Remove todos os membros em um conjunto classificado dentro dos índices fornecidos

14 ZREMRANGEBYSCORE chave mín. Máx.

Remove todos os membros em um conjunto classificado dentro das pontuações fornecidas

15 ZREVRANGE chave start stop [WITHSCORES]

Retorna um intervalo de membros em um conjunto classificado, por índice, com pontuações ordenadas de alto a baixo

16 ZREVRANGEBYSCORE chave máximo mínimo [WITHSCORES]

Retorna um intervalo de membros em um conjunto classificado, por pontuação, com pontuações ordenadas de alto a baixo

17 Membro-chave ZREVRANK

Determina o índice de um membro em um conjunto classificado, com pontuações ordenadas de alto a baixo

18 Membro chave ZSCORE

Obtém a pontuação associada a um determinado membro em um conjunto classificado

19 ZUNIONSTORE destino numkeys tecla [tecla ...]

Adiciona vários conjuntos classificados e armazena o conjunto classificado resultante em uma nova chave

20 Cursor da tecla ZSCAN [padrão MATCH] [COUNT count]

Incrementarmente itera elementos de conjuntos classificados e pontuações associadas