Redis MGET

Redis Mget



Strings Redis explicadas

As strings são a estrutura de dados mais básica e fundamental introduzida pelo banco de dados Redis. As strings do Redis são sequências binárias seguras de bytes. Eles são muito parecidos com strings normais disponíveis em linguagens de programação como Java e c#.net. Mais importante ainda, as strings do Redis podem ser usadas para armazenar quase tudo o que você gosta, como strings, números inteiros, JSONs serializados, XMLs e valores binários. Como o tipo de dados string do Redis é seguro para binários, objetos binários como imagens, vídeos e documentos podem ser facilmente armazenados usando strings. Além disso, uma única string Redis pode conter os dados de até 512 MB.







Além disso, a estrutura de dados de string do Redis é comumente usada nos seguintes casos de uso:



  • Cache
    • Armazenamento de sessão
    • Respostas da API
    • páginas HTML
  • Contador
  • Implementação de bitmap e operações bit a bit

As operações de string mais usadas são SET, GET, MGET e SETNX. Os comandos INCRBY e INCRBYFLOAT são comumente usados ​​para gerenciar os contadores implementados usando a estrutura de dados de string do Redis. Neste tutorial, o comando MGET é detalhado.



Comando MGET revelado

O comando MGET é usado para recuperar os valores das chaves Redis fornecidas. Ele aceita uma ou mais chaves como argumentos. Além disso, o comando MGET opera em complexidade de tempo O(N), onde N é o número de chaves especificadas. A sintaxe do comando MGET é a seguinte:





Chave MGET [ chave ... ]

Após a execução do comando MGET, ele retorna uma matriz de valores armazenados nas chaves Redis especificadas. Se a chave não existir, ela retornará o valor especial nada. Da mesma forma, se a chave não contém um valor de string, um nada valor é devolvido.

Caso de uso: buscar todas as respostas da API em cache

Vamos supor um cenário em que o tipo de dados string Redis é usado para implementar um cache que contém as respostas recentes da API. Usamos o comando SET para armazenar algumas respostas de API fictícias para fins de demonstração.



definir dummyhost / clientes 'ricky, bernardo, maria, samuel, joe' definir dummyhost / fornecedores 'jimmy, jeremy, andrew, hera' definir dummyhost / faturas '{'invoices': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Armazenamos alguns valores de string e um objeto JSON serializado usando o tipo de dados de string Redis.

Agora, vamos usar o comando MGET para recuperar todas as respostas em cada chamada de API de uma só vez.

mget dummyhost / clientes dummyhost / fornecedores dummyhost / faturas

Resultado:

1 ) 'ricky, bernardo, maria, samuel, joe'

dois ) 'jimmy, jeremy, andrew, hera'

3 ) '{' faturas ': [{' fatura_id ': 1,' Pagamento da fatura ':1000}, {' fatura_id ': dois, ' Pagamento da fatura ':3400}]}'

Como esperado, os valores em cada chave são retornados como uma matriz.

Especificando uma chave inexistente

Como mencionado, o comando MGET retorna o valor especial nada quando uma chave inexistente é fornecida. Vamos especificar uma chave inexistente chamada “nonexistingkey” para o comando MGET e executar o exemplo anterior da seguinte forma:

mget dummyhost / clientes dummyhost / fornecedores dummyhost / chave inexistente de faturas

Como você pode ver, o último valor na matriz é nada que está associado à chave Redis não existente.

No geral, o comando MGET é um candidato ideal quando precisamos recuperar os valores de string armazenados em várias chaves em uma chamada, em vez de chamar o comando GET várias vezes.

Conclusão

Em resumo, o comando MGET opera na estrutura de dados de string do Redis para retornar os valores armazenados em várias chaves em uma chamada. Ele aceita uma ou mais chaves Redis como argumentos. Conforme destacado, o comando MGET opera em complexidade de tempo O(N). O caso de uso mostrou como usar o comando MGET para buscar várias respostas de API armazenadas em várias chaves com eficiência.