Sobes.tech
Junior — Middle

Ce abordări sau instrumente ați folosit pentru implementarea caching-ului datelor?

sobes.tech AI

Răspuns de la AI

Pentru caching-ul datelor în C#, folosesc adesea mai multe abordări:

  • MemoryCache din spațiul de nume System.Runtime.Caching — pentru cache local în memoria aplicației. Permite setarea duratei de viață a cache-ului, priorități etc.

  • IMemoryCache și IDistributedCache din ASP.NET Core — pentru caching în aplicațiile web. IMemoryCache este un cache local, IDistrubutedCache este pentru cache distribuit (de exemplu, Redis).

  • Sisteme externe de cache, precum Redis sau Memcached, pentru caching scalabil și distribuit.

Exemplu de utilizare 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); // metodă de preluare din bază de date
    cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// utilizăm user

Această abordare reduce numărul de apeluri către bază de date și crește performanța.