Comando Redis Srem
O comando redis srem é usado para remover elementos de um conjunto armazenado em uma chave especificada. Da versão 2.4.0, este comando suporta a remoção de vários membros simultaneamente. Valitações estão em vigor para os seguintes cenários.
Especificando membros inexistentes
Se um membro especificado não fizer parte do conjunto fornecido, esse membro será ignorado.
Especificando a chave inexistente
Sempre que a chave não estiver disponível, o comando SREM retornará 0. Nesse caso, o comando SREM trata esse conjunto inexistente como um conjunto vazio.
Sintaxe:
O comando SREM tem sintaxe muito simples, como mostrado no seguinte.
SREM REDIS_KEY MEMBRO [MEMBRO…]
redis_key: O identificador exclusivo onde o conjunto é armazenado.
membro: O membro a ser removido da lista. Opcionalmente, você pode especificar vários membros.
O comando SREM retorna um valor inteiro que é a contagem dos membros removidos com sucesso. Como exemplo, se três membros fossem removidos do conjunto, o valor de retorno seria 3.
Além disso, se você especificar uma chave que aponta para um hash ou lista, mas não para um conjunto. Nesse caso, o comando SREM levantaria um erro.
Exemplo 01 - Remova um membro do conjunto
Vamos supor que vamos armazenar os principais fãs do seu site pessoal com base no nível de interatividade a cada mês. Como os conjuntos mantêm membros não duplicados, podemos garantir que o mesmo usuário não seja adicionado várias vezes.
Usaremos o comando sadd para adicionar os 5 principais fãs em janeiro ao conjunto armazenado em Key Topfans: janeiro.
SADD TOPFANS: JANEIRO JACKNELSON TINAMADDY JOSHINGLISH EOINMORGAN DEREKHARNS
Vamos inspecionar o TopFans: janeiro Defina usando o comando smembers.
SMEMBERS TOPFANS: JANEIRO
Saída:
Devido ao comportamento antiético do membro "tinamaddy", temos um requisito para removê -la do conjunto. Agora o comando srem é o candidato ideal para fazer isso.
SREM Topfans: janeiro Tinamaddy
Como esperado, a saída é 1, o que significa que um membro foi removido. Vamos inspecionar os membros existentes no set também.
SMEMBERS TOPFANS: JANEIRO
Como mostrado na saída acima, o membro “tinamaddy” passou da lista.
Exemplo 02 - Remova vários membros simultaneamente
Em alguns cenários, podemos precisar remover mais de um membro de um conjunto. Portanto, o comando SREM suporta vários argumentos de membros. Digamos que precisamos remover os membros "Jacknelson" e "Joshingohlish". O seguinte comando faria isso por você.
SREM Topfans: janeiro Jacknelson Joshingohlish
O comando retornou o número inteiro 2, o que significa que dois membros foram removidos.
O importante a perceber é que o comando SREM consome tempo constante em ambos os cenários. Portanto, é recomendável usar em aplicações de baixa latência.
Conclusão
Para resumir, o comando SREM opera em estruturas de dados definidas. Seu trabalho principal é remover um elemento de um conjunto armazenado em uma chave especificada. Como os comandos SADD e SMISMEmber, o comando SREM tem complexidade de tempo constante, onde o número de elementos não entrará em vigor no tempo de execução do comando SREM. Como afirmado, da versão 2 Redis.4.0, o comando SREM permite vários argumentos de membros. Portanto, você pode excluir vários membros de uma determinada lista simultaneamente. Após a execução deste comando, ele retorna um valor inteiro que é o número de elementos removidos com sucesso da lista. No geral, o comando SREM é um candidato ideal para usar em aplicações de baixa latência.