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.Cachingpara 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