Junior — Middle
Que abordagens ou ferramentas você utilizou para implementar o cache de dados?
sobes.tech IA
Resposta da IA
Para o armazenamento em cache de dados em C#, frequentemente utilizo várias abordagens:
-
MemoryCache do espaço de nomes
System.Runtime.Caching— para cache local na memória da aplicação. Permite definir o tempo de vida do cache, prioridades, etc. -
IMemoryCache e IDistributedCache do ASP.NET Core — para cache em aplicações web. IMemoryCache é um cache local, IDistrubutedCache é para cache distribuído (por exemplo, Redis).
-
Sistemas de cache externos, como Redis ou Memcached, para cache escalável e distribuído.
Exemplo de uso do MemoryCache:
using System.Runtime.Caching;
var cache = MemoryCache.Default;
string cacheKey = "user_123";
var user = cache.Get(cacheKey) as User;
if (user == null)
{
user = GetUserFromDatabase(123); // método para obter da base de dados
cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// usamos user
Este método reduz o número de acessos à base de dados e melhora o desempenho.