- A maioria (mas não todos) dos objetos usa uma chave
- Usando namespaces
- Recuperando todas as chaves existentes
Como outros mecanismos de banco de dados não relacionais, entender como o Redis lida com estruturas e associações de dados às vezes pode ser difícil. Isso é particularmente verdadeiro quando o Redis é comparado a bancos de dados relacionais mais tradicionais com tabelas em quarentena, cada uma contendo várias linhas e colunas para armazenar dados.
Como o Redis não é relacional, tudo no sistema é configurado com
key/value básico pares no nível mais simples. Durante o desenvolvimento em particular, pode ser complicado acompanhar tudo o que já existe no banco de dados, portanto, neste breve tutorial, abordaremos o método para recuperar todas as keys de um banco de dados Redis com alguns comandos simples. A maioria (mas não todos) dos objetos usa uma chave
Para a grande maioria do armazenamento de dados com Redis, os dados serão armazenados em uma simples
key/value par. Isso é melhor mostrado através do redis-cli (interface de linha de comando) usando GET e SET comandos. Por exemplo, podemos querer armazenar algumas informações sobre
books , como o title e author de alguns dos nossos favoritos. > SET title "The Hobbit"
OK
> SET author "J.R.R. Tolkien"
OK
O
title e author são as keys definimos e os valores reais da string foram especificados depois. Para que possamos visualizá-los com GET , igual a:> GET title
"The Hobbit"
> GET author
"J.R.R. Tolkien"
Usando namespaces
Isso é muito bom, mas como adicionamos outro livro? Não podemos reutilizar o mesmo
title e author keys ou sobrescreveremos os dados existentes. Em vez disso, podemos usar a sintaxe de namespace usando um : separador e dando a cada title ou author inserir uma key numérica exclusiva :> SET title:1 "The Hobbit"
OK
> SET author:1 "J.R.R. Tolkien"
OK
> SET title:2 "The Silmarillion"
OK
> SET author:2 "The Silmarillion"
OK
Agora usando
GET requer adicionar a key numérica exclusiva também:> GET title:1
"The Hobbit"
> GET title:2
"The Silmarillion"
Recuperando todas as chaves existentes
Acontece que cada
SET comando que emitimos acima criou uma nova e exclusiva key em nosso banco de dados Redis. Para obter uma lista de todas as keys atuais que existem, basta usar as KEYS comando:> KEYS *
1) "title:1"
2) "title:2"
3) "title"
4) "author:2"
5) "author"
6) "author:1"
Seguindo
KEYS com um asterisco (* ) – que funciona como uma pesquisa curinga – estamos pedindo ao Redis para recuperar todas as chaves do sistema. Assim, não vemos apenas nossos dois title originais e author keys, mas também as quatro versões enumeradas que se seguiram. A sintaxe após
KEYS pode ser usado para pesquisar palavras ou frases específicas dentro da chave, ou a correspondência exata também. Aqui queremos todas as chaves que contenham o texto 'title' :> KEYS *title*
1) "title:1"
2) "title:2"
3) "title"
CUIDADO:Conforme mencionado na documentação oficial, é aconselhável evitar o uso das
KEYS comando em bancos de dados muito grandes, mas principalmente evite usá-lo em um ambiente de produção. Desde KEYS está retornando potencialmente todas as chaves do sistema, isso pode ter um impacto negativo dramático no desempenho.