uma pergunta, como ficaria esse processo de no caso eu ter um novo dado, por exemplo eu teria que limpar o cache e gerar um novo?, e como eu trataria isso em um sistema saas, onde vários bancos dependem de um único código, essas duvidas creio eu que a grande maioria também tem, pois hoje em dia se usa node muito nestes senários.
Consigo usar o Elephant com o Railway? tipo, o banco ficar no Elephant e o backend e frontend no railway? Ademais, to maratonando simplesmente todos os seus vídeos!! Muito obrigado por ter feito eles, não pare nunca!! kkk
Uma dúvida, nesse caso você cacheou 1000 usuários, e se amanha alguém se cadastrar no seu sistema, são 1001 usuários, mas ele nao vai ser listado pq vc só cacheou os 1000 e nao esse novo ?
Faala Gustavo, beleza? Então, toda vez que um usuário for criado, atualizado ou deletado, o cache de usuários deve ser removido. Ai quando for buscado novamente, bate no banco, busca os dados novos e cria o cache novamente.
Muito bom o video, mas vc tem que colocar o console.time() antes do get do redis.get(Key).. pq o consumo de tempo maior está no get e no parse do get.. se não vc está validando tempo dos dados em memória e não do redis.
Na verdade não foi 10 vezes mais rápido, foi 90 mil vezes mais rápido a resposta da requisição. Seria 10 vezes mais rápido se a diferença entre ambos fosse de 1,87 segundos na primeira requisição sem o cache para 1 segundo. Vamos lá... A segunda requisição está demorando na ordem de milésimos de segundos, então por exemplo se fosse entre 1.87 segundos pra 1 milésimo de segundo (0,001s ou 1ms) seria uma diferença de 1800 vezes mais rápida mas o que se vê no vídeo é valores diferentes entre 1,87s para 0.02ms(0,00002s dois centésimos de milésimos de segundos) ou seja dividindo 1.87segundos por 0.02ms(milissegundos) a segunda requisição responde 90mil vezes mais rápido.
Parabéns pelo conteúdo, uma ótima didática. Parabéns !!!
Estou muito impressionado absurdamente top 🎉🎉🎉
Onde hospedar o redis ?
Manooo, me ajudou demais cara, não faz ideia!!!
Faala Alan, beleza?
E nós ficamos muito felizes em saber disso, conte com a gente 💙
uma pergunta, como ficaria esse processo de no caso eu ter um novo dado, por exemplo eu teria que limpar o cache e gerar um novo?, e como eu trataria isso em um sistema saas, onde vários bancos dependem de um único código, essas duvidas creio eu que a grande maioria também tem, pois hoje em dia se usa node muito nestes senários.
Faala Nilo, beleza?
Ótima pergunta, consegue chamar na comunidade para discutirmos sobre isso e evoluirmos juntos?
Obrigado pelo conteúdo!
Como funciona referente a deploy ? redis funciona como uma lib, ou precisamos de fato ter um servidor a parte ?
No canal do devdoido tem um vídeo de cache no node que ele ensina a usar um redis as a service chamado upstash. Vale a pena conferir
Conteúdo excelente!
Show
boa explicação.
Muito bom!!!
Show o video! Mas tenho uma duvida! E adequado importa o redis diretamente no controller? ou posso fazer isso na camada serviço?
Consigo usar o Elephant com o Railway? tipo, o banco ficar no Elephant e o backend e frontend no railway? Ademais, to maratonando simplesmente todos os seus vídeos!! Muito obrigado por ter feito eles, não pare nunca!! kkk
Prisma ou Sequeliza?
Uma dúvida, nesse caso você cacheou 1000 usuários, e se amanha alguém se cadastrar no seu sistema, são 1001 usuários, mas ele nao vai ser listado pq vc só cacheou os 1000 e nao esse novo ?
Faala Gustavo, beleza?
Então, toda vez que um usuário for criado, atualizado ou deletado, o cache de usuários deve ser removido. Ai quando for buscado novamente, bate no banco, busca os dados novos e cria o cache novamente.
@@dogcodedev entendido, valeuuu
Muito bom o video, mas vc tem que colocar o console.time() antes do get do redis.get(Key).. pq o consumo de tempo maior está no get e no parse do get.. se não vc está validando tempo dos dados em memória e não do redis.
Man, nesse último teste eu soltei um "TA POHHA!"
Na verdade não foi 10 vezes mais rápido, foi 90 mil vezes mais rápido a resposta da requisição. Seria 10 vezes mais rápido se a diferença entre ambos fosse de 1,87 segundos na primeira requisição sem o cache para 1 segundo. Vamos lá... A segunda requisição está demorando na ordem de milésimos de segundos, então por exemplo se fosse entre 1.87 segundos pra 1 milésimo de segundo (0,001s ou 1ms) seria uma diferença de 1800 vezes mais rápida mas o que se vê no vídeo é valores diferentes entre 1,87s para 0.02ms(0,00002s dois centésimos de milésimos de segundos) ou seja dividindo 1.87segundos por 0.02ms(milissegundos) a segunda requisição responde 90mil vezes mais rápido.
Mano, tu colocou o início do console.time no lugar errado, por isso tá dando tão rápido, vc deve colocar antes do await redis.get(...)