Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Cache em recursos que dependem do Usuario

Como ficaria a implementação de cache para casos como por exemplo, o de uma endpoint "/respostas" que devolveria as Resposta's dadas pelo usuário logado? O Spring quando tem o módulo Security já faz a diferenciação? É sequer comum empregar Cache nessa situação?

3 respostas
solução!

Isso não seria uma pratica comum, já que é provável que o seu cache cresceria demais, já que seria necessária armazenar um response por usuário.

E acrescentando quando falamos no padrão rest provável que você fará a autenticação por tokens (não recebendo o usuário e sim o token nos headers) nesse caso é provável que seu cache precise ser sensível ao token (path a o header authorization, tendo uma durabilidade útil inferior a expiração do token e podendo ter duplicidade de valor caso o usuário autenticar em dispositivos diferentes), não vejo isso como um cenário ideal para se utilizar cache. Veja como exemplo aplicações do tipo ecommerce, as páginas "cacheadas" geralmente são onde se lista os produtos/categorias/etc do carrinho pra frente são "online" por isso as vezes encontramos diferença entre preço e disponibilidade do produto quando chega no checkout.

Com certeza Érico, neste meio tempo acabei refletindo sobre, mas sua resposta complementou bem. Chegou a soar boba a pergunta hehe. No fim das contas, várias validações e complexidade extra para um "ganho" ínfimo, quando este não se tornar possivelmente até, um problema. Obrigado e elbow bump!

Imagina rsrs, toda dúvida é válida, existem outras ferramentas para fazer o controle de cache quando você precisa de algo mais complexo, não sei se você já conhece mas depois da uma lida sobre o Redis é uma ferramenta muito utilizada.