Olá!
KEYS resultado:1[57]-??-????:*sena
No caso acima é referente aos dias 15 e 17, mas e se fosse, por exemplo, 05 e 17, seria como?
KEYS resultado:[01][57]-??-????:*sena?????
Olá!
KEYS resultado:1[57]-??-????:*sena
No caso acima é referente aos dias 15 e 17, mas e se fosse, por exemplo, 05 e 17, seria como?
KEYS resultado:[01][57]-??-????:*sena?????
Oi Vitor, tudo bem?
Isso mesmo, mas só lembrando que isso formará as seguintes combinações:
05; 07; 15; 17
Além de buscar os dias 05 e 17, buscaria também os dias 07 e 15.
Eu particularmente não conheço uma forma para recuperar apenas o 05 e o 17.
Abraços!
Oi Vitor, tudo bem?
Seu problema foi solucionado? Estou fechando o tópico, caso não tenha sido solucionado, não hesite em abrir o tópico novamente por favor.
Bom dia!
Pode encerrar o caso, se quiser, qualquer coisa solicito um novo. Contudo, não foi solucionado, porque vocês e eu ainda não sabemos como recuperar apenas o 05 e o 17, mas assim que eu voltar a rever o conteúdo eu alinho.
Bom dia Vitor,
Olhando a documentação do comando KEYS você vê que ele não suporta esse tipo de operação. O comando SCAN+MATCHES (linkado na documentação do KEYS) também parece não suportar.
A solução seria então chamar o KEYS duas vezes. Mas existe uma outra abordagem....
Nesse tipo de situação, de busca numérica em determinados valores, uma abordagem é armazenar seus dados como BITMAPS. A sacada do REDIS está em armazenar de uma maneira que a busca seja trivial, então um BITMAP suporta esse tipo de busca pois bastaria buscar os elementos para os quais o BITMAP estaria ativo na posição 5 ou 17, 5 e 16 etc por exemplo entre outras maneiras de mapear os dados.
Lembre-se que voce nao precisa deixar seus dados normalizados (a ideia do banco de suporte é justo não deixar normalizado ao máximo), então "não teria problema" de armazenar os dados de uma maneira para certas buscas e de outra para outras buscas, duplicando o armazenamento mas deixando a query mais rapida.
Em geral quando nos questionamos sobre descobrir quais são as KEYS, poderiamos refatorar e pensar em bitmaps, fazendo com que as keys sejam posicoes do nosso bitmap
Abraço