Não sei se isso será abordado mais pra frente, estou colocando a dúvida já senão vou esquecer. Entendo que num cenário do mundo real, posso querer encontrar datas entre por exemplo: 04-02 até 12-02. Como poderia fazer essa busca?
Não sei se isso será abordado mais pra frente, estou colocando a dúvida já senão vou esquecer. Entendo que num cenário do mundo real, posso querer encontrar datas entre por exemplo: 04-02 até 12-02. Como poderia fazer essa busca?
Olá Rafael, tudo bem?
No redis não é possível utilizar os operadores comuns como AND ou OR para filtrar um período especifico na busca de KEYS. Por isso você não vai conseguir realizar uma busca neste período especifico que deseja de 04-02 até 12-02, mas pode buscar de outras formas como:
Utilizando o caractere “*” ,que substitui um ou mais caracteres nas KEYS, para fazer buscas separadas, então primeiramente buscar as datas entre o dia 01 até o dia 09 e em seguida buscar entre o dia 10 até o dia 19:
Keys chave:0*-02-2015
Neste caso esta buscando todas as chaves que o dia inicie com 0 e qualquer outro numero no segundo caractere do dia, no caso buscando datas entre 01-02-2015 e 09-02-2015
Keys chave:1*-02-2015
Neste caso esta buscando todas as chaves que o dia inicie com 1 e qualquer outro numero no segundo caractere do dia, no caso buscando datas entre 10-02-2015 e 19-02-2015
Uma outra opção seria o "[]" (colchetes) que é usado para filtrar caracteres alternativos ao mesmo tempo, passando a lista que queremos encontrar correspondência dentro dos colchetes assim podendo fazer a busca de uma unica vez:
Keys chave:[01]*-02-2015
Neste caso esta buscando todas as chaves que o dia inicie com 0 ou 1 e qualquer outro numero no segundo caractere do dia, no caso buscando datas entre 01-02-2015 e 19-02-2015.
Fala se entendeu!
Olá, acredito que o que está explicando já está no curso. Estou tentando ir além,
Acredito que, agora que terminei o curso, como o Guilherme falou, utilizamos o Redis para questões específicas, logo, acredito que devemos modelar as chaves para que elas nos sirvam a um propósito específico. Portanto, por exemplo, se eu precisasse ranquear algo de acordo com um período, talvez faça sentido ter uma tabela de período e a chave conter o ID desse período e eu acumular valores nesse id, assim quando precisar do rank por exemplo, poderia pegar diretamente.
Após fazer os dois cursos, percebi que a arte está em modelar as chaves corretamente.
Bem Rafael, na sua pergunta inicial você procurava encontrar os dados entre as datas 04-02 e 12-02, e como falei no post anterior não é possível isso nos Redis utilizando o comando KEYS. E realmente é isso no Redis a grande questão é modelar as chaves corretamente de acordo com a sua necessidade.Mas não entendi muito bem o que você quer dizer quando fala: "Ter uma tabela de período e a chave conter o ID desse período e eu acumular valores nesse id". Esta se referindo a ter um banco onde armazenam todos os dados, e no Redis você apenas criar uma chave com o ID para acumular a pontuação. Seria isso?
Oi Danielle, exatamente isso.