Redis classificada Set Members
Os conjuntos classificados Redis armazenam elementos exclusivos de maneira ordenada. Portanto, pode ser usado em aplicações de baixa latência, como filas de prioridade, classificações de liderança em tempo real, indexação secundária, etc. Cada um desses elementos definidos recebe uma classificação e colocado em ordem ascendente com base no valor da pontuação. Vários comandos estão disponíveis para adicionar, atualizar e remover os membros do conjunto classificado com eficiência. A coisa mais importante sobre os conjuntos classificados é que, após a adição ou remoção de um membro do conjunto, ele ainda consegue manter as classificações de membros e o pedido.
A figura acima mostra o cenário de remoção do elemento de conjunto Redis e como se comporta quando vários membros são removidos dele. Ele consegue manter a ordem correta e os valores de índice, colocando cada membro de acordo. Na próxima seção, estaremos analisando a operação Remova Remover de maneira detalhada de uma maneira detalhada.
Removendo membros com o comando ZREM
O comando ZREM é usado para remover um ou mais membros de um conjunto classificado armazenado em uma chave especificada. Este comando tem complexidade do tempo logarítmico. Se o comando for usado para remover um elemento, a complexidade do tempo será proporcional ao valor logarítmico do número de elementos. Se vários elementos tiverem sido especificados para remover, ele será O (number_of_elements_to_remove* log (total_number_of_set_elements)).
Sintaxe
ZREM STRATED_SET_KEY MEMBRO [MEMBRO…]
STORD_SET_KEY: Este é o identificador único em que o conjunto classificado é armazenado em.
membro: Este é o membro que deve ser removido.
O comando ZREM removerá os membros especificados do conjunto classificado. Ele retornará uma resposta inteira que é o número de membros removidos. Sempre que você especificar um membro inexistente, ele será ignorado. Além disso, o comando lançará um erro se a chave fornecida não segurar um conjunto classificado.
Exemplo - Gerencie a fila de pedidos do cliente com Redis Zrem
Vamos fazer um cenário do mundo real, onde um restaurante atende a seus clientes com base nos primeiros jogadores designados com a maior prioridade. Ao servir os clientes mais alta prioridade primeiro, o restaurante deve remover cada entrada do cliente da fila. O conjunto de dados classificados Redis será uma estrutura de dados ideal para implementar esse cenário de maneira eficiente e eficiente em memória.
Cada membro do conjunto classificado Redis se parece com o seguinte.
Conforme mostrado na ilustração acima, cada vez que um cliente é servido pelo restaurante, esse membro precisa ser removido do conjunto classificado. Podemos usar o comando ZREM para alcançar isso.
Vamos adicionar os quatro clientes mostrados na figura acima. Usaremos o comando Zadd para criar o conjunto classificado CustomerQueue e adicione quatro membros, conforme mostrado no seguinte.
Zadd CustomerQueue 1 Cliente: 10
Zadd CustomerQueue 9 Cliente: 1
Zadd CustomerQueue 7 Cliente: 6
Zadd CustomerQueue 5 Cliente: 2
Vamos inspecionar o conjunto classificado usando o comando Zrange.
ZRANGE CustomerQueue 0 10 Withscores
Saída:
Como esperado, o conjunto de clientes classificado foi encomendado com base no valor da prioridade.
Exclua um membro do conjunto classificado
O Cliente: 10 quem tem a maior prioridade será servido primeiro. Portanto, o Cliente: 10 Os membros precisam ser removidos do conjunto classificado. Vamos usar o comando ZREM para remover o membro.
Customerqueue do Zrem CustomerQueue: 10
Saída:
Como esperado, o valor de retorno é 1, o que significa que uma entrada foi removida. Vamos inspecionar o CustomerQueue de novo.
O membro Cliente: 10 foi excluído com sucesso.
Exclua vários membros do conjunto classificado
Vamos dizer ambos Cliente: 2 e Cliente: 6 foram servidos de dois Windows parallelly. Portanto, devemos excluir os dois membros do conjunto classificado. Podemos usar o comando ZREM para excluir os dois membros de uma só vez.
ZREM CustomerQueue Cliente: 2 Cliente: 6
Saída:
Como esperado, o valor de retorno é 2, o que indica que dois membros foram excluídos. Vamos inspecionar todo o conjunto classificado novamente.
Recomenda -se o comando zrem ser usado sempre que você precisar remover elementos de um conjunto classificado.
Conclusão
Para resumir, o comando ZREM é usado para remover um ou vários elementos de um conjunto classificado Redis armazenado em uma determinada chave. Ele simplesmente exclui os membros especificados do conjunto classificado. Além disso, o pedido será mantido no conjunto classificado resultante. Como afirmado acima, possui uma complexidade do tempo logarítmico que faz com que o comando seja usado em aplicativos em tempo real. Portanto, recomenda -se o comando ZREM sempre que você precisar remover elementos de um conjunto classificado.