Operações com Sorted Set no Redis

RedisBeginner
Pratique Agora

Introdução

Neste laboratório, você explorará as operações fundamentais de um Redis Sorted Set. Começará conectando-se ao servidor Redis e usando o comando ZADD para adicionar elementos com pontuações associadas a um Sorted Set. Isso inclui adicionar novos elementos, atualizar as pontuações de elementos existentes e entender a saída do comando.

Em seguida, você aprenderá como obter uma faixa de elementos do Sorted Set por seu índice usando o comando ZRANGE, obter a classificação de um elemento com ZRANK, incrementar a pontuação de um elemento usando ZINCRBY e, finalmente, remover elementos do Sorted Set com ZREM.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 98%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Adicionar Elementos com Pontuações usando ZADD

Nesta etapa, você aprenderá como adicionar elementos com pontuações a um Redis Sorted Set usando o comando ZADD. Sorted Sets são uma estrutura de dados que armazena elementos associados a uma pontuação. Os elementos são ordenados por suas pontuações, permitindo que você os recupere de maneira ordenada.

Primeiro, vamos conectar ao servidor Redis. Abra um terminal na VM do LabEx. Você já deve estar no diretório ~/project. Agora, conecte-se ao servidor Redis usando o comando redis-cli:

redis-cli

Você deve ver o prompt do Redis: 127.0.0.1:6379>.

Agora, vamos adicionar alguns elementos com pontuações a um Sorted Set chamado my_zset. O comando ZADD tem a seguinte sintaxe:

ZADD key score member [score member ...]

Onde:

  • key é o nome do Sorted Set.
  • score é a pontuação associada ao elemento.
  • member é o elemento a ser adicionado.

Vamos adicionar três elementos a my_zset: "apple" com uma pontuação de 1, "banana" com uma pontuação de 2 e "cherry" com uma pontuação de 3.

ZADD my_zset 1 apple 2 banana 3 cherry

Você deve ver a seguinte saída:

(integer) 3

Isso indica que três elementos foram adicionados ao Sorted Set.

É importante sair do Redis CLI após esta etapa para garantir que os comandos sejam registrados corretamente. Para sair, digite:

exit

Adicionar Mais Elementos e Atualizar Pontuação com ZADD

Nesta etapa, continuaremos adicionando elementos ao Sorted Set my_zset e atualizaremos a pontuação de um elemento existente.

Primeiro, conecte-se ao servidor Redis novamente:

redis-cli

Agora, vamos adicionar outro elemento, "date" com uma pontuação de 2.5:

ZADD my_zset 2.5 date

Você deve ver a seguinte saída:

(integer) 1

Isso indica que um elemento foi adicionado ao Sorted Set.

Você também pode atualizar a pontuação de um elemento existente usando ZADD. Vamos atualizar a pontuação de "apple" para 1.5:

ZADD my_zset 1.5 apple

Você deve ver a seguinte saída:

(integer) 0

Isso indica que nenhum novo elemento foi adicionado (porque "apple" já existia), mas a pontuação de "apple" foi atualizada.

Lembre-se de sair do Redis CLI:

exit

Obter Intervalo por Índice com ZRANGE

Agora que preenchemos nosso Sorted Set my_zset, vamos aprender como recuperar elementos dentro de um intervalo específico usando o comando ZRANGE.

Conecte-se ao servidor Redis:

redis-cli

O comando ZRANGE recupera elementos de um Sorted Set dentro de um intervalo de índices especificado. A sintaxe é a seguinte:

ZRANGE key start stop [WITHSCORES]

Onde:

  • key é o nome do Sorted Set.
  • start é o índice inicial (inclusivo).
  • stop é o índice final (inclusivo).
  • WITHSCORES (opcional) inclui as pontuações dos elementos na saída.

Para recuperar os três primeiros elementos (índice 0 a 2) de my_zset, use o seguinte comando:

ZRANGE my_zset 0 2

Você deve ver a seguinte saída, representando os elementos ordenados por suas pontuações:

1) "apple"
2) "banana"
3) "date"

Para recuperar os elementos junto com suas pontuações, use a opção WITHSCORES:

ZRANGE my_zset 0 2 WITHSCORES

Você deve ver a seguinte saída:

1) "apple"
2) "1.5"
3) "banana"
4) "2"
5) "date"
6) "2.5"

Saia do Redis CLI:

exit

Obter a Posição do Elemento com ZRANK

Nesta etapa, você aprenderá como determinar a classificação de um elemento dentro de um Sorted Set usando o comando ZRANK. A classificação representa a posição do elemento na ordem classificada (começando de 0 para a pontuação mais baixa).

Conecte-se ao servidor Redis:

redis-cli

O comando ZRANK tem a seguinte sintaxe:

ZRANK key member

Onde:

  • key é o nome do Sorted Set.
  • member é o elemento para o qual você deseja encontrar a classificação.

Para encontrar a classificação de "banana" em my_zset, use o seguinte comando:

ZRANK my_zset banana

Você deve ver a seguinte saída:

(integer) 1

Isso indica que "banana" está na classificação 1 no Sorted Set.

Saia do Redis CLI:

exit

Incrementar Pontuação com ZINCRBY e Remover Elementos com ZREM

Nesta etapa final, você aprenderá como incrementar a pontuação de um elemento usando ZINCRBY e remover elementos usando ZREM.

Conecte-se ao servidor Redis:

redis-cli

O comando ZINCRBY incrementa a pontuação de um membro em um sorted set. A sintaxe é:

ZINCRBY key increment member

Onde:

  • key é o nome do Sorted Set.
  • increment é o valor para incrementar a pontuação.
  • member é o elemento cuja pontuação você deseja incrementar.

Vamos incrementar a pontuação de "banana" em 0.5:

ZINCRBY my_zset 0.5 banana

Você deve ver a seguinte saída:

"2.5"

Isso indica que a nova pontuação de "banana" é 2.5.

O comando ZREM remove um membro de um sorted set. A sintaxe é:

ZREM key member [member ...]

Onde:

  • key é o nome do Sorted Set.
  • member é o elemento que você deseja remover.

Vamos remover "banana" de my_zset:

ZREM my_zset banana

Você deve ver a seguinte saída:

(integer) 1

Isso indica que um elemento foi removido.

Saia do Redis CLI:

exit

Resumo

Neste laboratório, você aprendeu como usar operações fundamentais de Redis Sorted Set. Você usou ZADD para adicionar elementos com pontuações, ZRANGE para buscar intervalos de elementos, ZRANK para obter a classificação de um elemento, ZINCRBY para incrementar pontuações e ZREM para remover elementos. Agora você tem uma base sólida para gerenciar sorted sets de forma eficaz no Redis.