Este artigo superará como criar e gerenciar conjuntos em Redis.
Redis Create Set
Para criar um conjunto Redis, usamos o comando sadd seguido pelo nome e pelos membros da lista.
A sintaxe é como mostrado abaixo:
SADD key membro1 membro2… membron
Veja o comando de exemplo mostrado abaixo:
127.0.0.1: 6379> Banco de dados SADD MySQL MongoDB Redis memcached etcd
(Inteiro) 5
O comando adicionará os elementos especificados à lista e retornará os adicionados de sucesso.
Lembre -se de que o tipo é importante. Por exemplo, adicionar um membro definido a um tipo de lista retorna um erro.
Um exemplo é como mostrado:
127.0.0.1: 6379> lpush list_key "sql_server"
(Inteiro) 1
127.0.0.1: 6379> sadd list_key faunadb
(Erro) Operação errada contra uma chave que mantém o tipo errado de valor
Tentamos adicionar um membro a uma lista no comando acima.
Como mencionado, um conjunto não pode conter valores duplicados. Portanto, se você especificar o mesmo membro várias vezes, Redis selecionará a primeira ocorrência e ignorará os outros.
Um exemplo é como mostrado:
127.0.0.1: 6379> Banco de dados SADD Oracle PostGresql Oracle Oracle Oracle Oracle
(Inteiro) 2
Você notará que Redis adiciona apenas os dois primeiros elementos.
Redis Get Set Membros
Para obter os membros de um conjunto, use o comando smembers. Um exemplo é como mostrado:
127.0.0.1: 6379> Bancos de dados Smembers
1) "MySQL"
2) "Memcached"
3) "PostGresql"
4) "Oracle"
5) "MongoDB"
6) "Redis"
7) "etcd"
Você pode verificar se um membro específico faz parte da lista usando o comando do SMISMEmber.
O comando leva a chave e o membro para verificar como os argumentos. Um exemplo é como mostrado abaixo:
127.0.0.1: 6379> bancos de dados do SMISMEmber etcd
(Inteiro) 1
Se o membro fizer parte do conjunto, o comando retornará 1 e 0 caso contrário.
Você também pode recuperar qualquer membro aleatório de um conjunto usando o comando srandmember:
127.0.0.1: 6379> Bancos de dados SRandmember
"Etcd"
Se não for especificado, o comando retornará um membro aleatório.
Você pode especificar o número de membros aleatórios para obter como:
127.0.0.1: 6379> SRANDMEMBER DABASES 5
1) "MySQL"
2) "Memcached"
3) "PostGresql"
4) "Oracle"
5) "Redis"
Isso deve devolver cinco membros do conjunto aleatório.
Redis Remova membros do conjunto
Para remover um membro específico de um conjunto, use o comando SREM. Por exemplo:
127.0.0.1: 6379> bancos de dados SREM etcd
(Inteiro) 1
Redis também permite que você remova um membro aleatório de um conjunto usando o comando SPOP.
Exemplo de uso é como mostrado:
127.0.0.1: 6379> bancos de dados do SPOP
"Memcached"
O comando SPOP removerá um membro aleatório do conjunto especificado, a menos que especificado.
Você também pode especificar quantos membros aleatórios removem como mostrado:
127.0.0.1: 6379> bancos de dados do SPOP 3
1) "PostGresql"
2) "Oracle"
3) "Redis"
O comando SPOP retorna os valores dos membros que ele exclui.
Conclusão
Neste artigo, abordamos os fundamentos de trabalhar com Redis Sets. Além disso, cobrimos comandos como SADD, SPOP, SREM, SMISMEMBRO E muito mais.
Fique atento para mais!