O valor da pontuação permite que eles sejam classificados em uma ordem específica. Cada membro de um conjunto classificado deve ser único, mas pode compartilhar um valor de pontuação com vários membros.
Neste tutorial, você aprenderá tudo sobre os conjuntos classificados no Redis e como você pode usá -los em seus bancos de dados.
Certifique -se de ter um servidor Redis existente instalado e em execução para seguir este tutorial.
Criando conjuntos classificados
Para criar um conjunto classificado em Redis, use o comando Zadd no Redis CLI. O comando de Zadd leva três argumentos principais.
O primeiro é o nome da chave que mantém o conjunto classificado.
O segundo argumento mantém a pontuação do membro que está sendo adicionada ao conjunto classificado.
O argumento final e terceiro é o valor real do membro no conjunto classificado.
Nota: A ordem dos argumentos é importante como cada um representa os valores, conforme ditado acima.
Dê uma olhada no exemplo mostrado abaixo.
127.0.0.1: 6379> Zadd Capitães 1 "Jonathan Archer"
O comando acima cria um conjunto classificado contendo os nomes dos capitães de Star Trek. No exemplo acima, o valor de "Jonathan Archer" tem uma pontuação de 1.
O comando retorna um valor inteiro que indica o número total de membros adicionados ao conjunto classificado.
Redis não o restringe a adicionar um único membro ao conjunto. Você pode adicionar vários valores. Por exemplo:
Zadd Capitães 2 "Carol Freeman" 4 "Christopher Pike" 1 "Jean-Luc Picard" 3 "Kathryn Janeway."
Você notará duas coisas principais no comando acima:
Opções de comando zadd.
O comando Zadd aceita várias opções para modificar seu comportamento e funcionalidade. Essas opções incluem:
Nota: as opções NX e XX são conflitantes. Portanto, você só pode usar uma opção em um único comando.
Nota: Usando o comando zincrby em vez de zadd com a opção incur é recomendada. Ambos desempenham a mesma função.
Buscar membros de um conjunto classificado
Para recuperar os membros de um conjunto classificado em Redis, use o comando Zrange. O comando leva o nome da chave e uma gama específica dos membros que você deseja recuperar. Os valores de intervalo dos membros do conjunto classificado são índices baseados em zero. Portanto, o primeiro membro do conjunto está no índice 0.
Por exemplo, para recuperar os membros do índice 0 a 10, insira o comando:
127.0.0.1: 6379> Capitães de ZRange 0 10
O comando retornará os membros dentro desse intervalo especificado. Exemplo de saída é como mostrado abaixo:
1) "Jonathan Archer"
2) "Carol Freeman"
3) "Kathryn Janeway"
4) "Christopher Pike"
5) "Jean-Luc Picard"
Nos casos em que o conjunto classificado contém membros com um valor de pontuação semelhante, os membros serão classificados em ordem lexicográfica.
Se você deseja colocar os membros dentro do conjunto e suas pontuações associadas, você pode usar a opção Withscores.
127.0.0.1: 6379> ZRANGE CAPTINOS 0 10 WITHSCORES
A saída de exemplo do comando acima é como mostrado.
1) "Jonathan Archer"
2) "1"
3) "Carol Freeman"
4) "2"
5) "Kathryn Janeway"
6) "3"
7) "Christopher Pike"
8) "4"
9) "Jean-Luc Picard"
10) "5"
Suponha que você queira levar os membros em ordem inversa. Lembre -se de que o comando Zrange retorna os membros apenas em ordem crescente. Para obter a ordem reversa, use o comando ZrevRange.
127.0.0.1: 6379> ZREVRANGE CAPTINOS 0 10
O comando resultará em ordem inversa.
1) "Jean-Luc Picard"
2) "Christopher Pike"
3) "Kathryn Janeway"
4) "Carol Freeman"
5) "Jonathan Archer"
Você também pode incluir a opção WithOptions no comando ZrevRange.
1) "Jean-Luc Picard"
2) "5"
3) "Christopher Pike"
4) "4"
5) "Kathryn Janeway"
6) "3"
7) "Carol Freeman"
8) "2"
9) "Jonathan Archer"
10) "1"
O valor resultante conterá as pontuações em ordem inversa.
Remova os membros de um conjunto classificado
Para remover os membros de um conjunto classificado, use o comando ZREM.
127.0.0.1: 6379> Zrem capitães "Jonathan Archer"
O comando retornará um valor inteiro mostrando o número de itens removidos do conjunto classificado.
Para remover itens por intervalo, use o comando ZrembyRange.
127.0.0.1: 6379> ZREMRANCEBYLEX CAPTERES [A [Z
O comando removerá os valores com base em sua gama Lexico.
Para remover os membros em seu alcance de pontuação, use o comando ZREMRANGEBYBYSCORE.
127.0.0.1: 6379> ZREMRANGEBYBYSCORE Capitães 0 5
Obtenha informações sobre conjuntos classificados
Use o comando ZCARD para buscar o número de membros em um determinado conjunto classificado.
127.0.0.1: 6379> Capitães ZCARD
O valor de retorno é um número inteiro mostrando o número de itens em um conjunto.
Se você deseja obter o número de membros dentro de um intervalo específico, use o comando ZCount.
127.0.0.1: 6379> ZCOUNT CAPTINOS 0 10
Da mesma forma, o comando retorna um valor inteiro.
Para obter a pontuação de um membro específico em um conjunto classificado, use o comando ZSCORE:
127.0.0.1: 6379> Capitães do ZSCore "Carol Freeman"
"2"
O comando retornará a pontuação do membro se houver.
Conclusão
Este artigo discutiu como começar e usar conjuntos classificados em rubi. Lembre -se de que há mais conjuntos classificados do que discutidos neste guia. Considere a documentação para saber mais.