Sobes.tech
Junior — Middle

Que métodos ou ferramentas utilizou para implementar o cache nos seus projetos?

sobes.tech IA

Resposta da IA

Para implementar o cache em projetos C#, utilizei várias abordagens e ferramentas:

  • MemoryCache do espaço de nomes System.Runtime.Caching para cache de dados na memória da aplicação.
  • Cache distribuído (por exemplo, Redis) para cache em ambientes distribuídos, útil ao escalar.
  • Uso de atributos de cache no ASP.NET Core, como [ResponseCache] para cache de respostas HTTP.
  • Implementação de uma camada de cache própria usando dicionários e tempos limite para tarefas específicas.

Exemplo de uso do MemoryCache:

using System.Runtime.Caching;

MemoryCache cache = MemoryCache.Default;
string cacheKey = "user_123";
var userData = cache.Get(cacheKey);
if (userData == null)
{
    userData = GetUserFromDatabase(123); // método para obter dados
    cache.Set(cacheKey, userData, DateTimeOffset.Now.AddMinutes(10));
}
// Usar userData