Faltou eu assistir as últimas aulas do curso. Estou agora na parte 7 e vou terminar ainda hoje se Deus quiser.
Vou tentar resumir meu problema e a solução que tivemos. Acredito que não seja a ideal por isso estou escrevendo aqui para tentar achar uma solução melhor para o caso. Conseguem me ajudar?....
Ao fazer uma consulta no banco de dados relacional pegamos os dados e adicionamos no cache do redis.
Ai sempre que ele for fazer essa mesma consulta novamente antes de acessar o relacional nós consultamos a chave do redis para ver se essa consulta já foi realizada. Se sim, pega os dados do redis e não acessa o relacional.
Porém temos um problema. Nesse período alguém já pode ter cadastrado mais informações no relacional e o redis ficou desatualizado.
Solução que tivemos Sempre que tiver uma ação de insert, update e delete para essa tabela do banco relacional limpamos o cache do redis para que o cache seja adicionado novamente.
Uma outra solução seria fazer um count no relacional e adicionar no conjunto de dados no redis para que possamos obter esse total de registro e ver se bate com o do relacional. O problema dessa solução é que teremos que fazer mais uma consulta no banco realcional e não optamos por essa solução.
Como conseguiríamos resolver essa questão de uma forma mais elegante com os próprios comandos do redis?