1
resposta

Como resolver problema de dados desatualizados do banco relacional com redis?

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?

1 resposta

Alguém consegue ajudar e dizer qual a melhor prática para fazer isso? Se o que fiz no exemplo é o caminho ou isso não é legal e existe uma forma mais elegante de se fazer?