Sobes.tech
Junior — Middle

Какви подходи или инструменти използвахте за реализиране на кеширане на данни?

sobes.tech AI

Отговор от AI

За кеширане на данни в C# често използвам няколко подхода:

  • MemoryCache от пространството за имена System.Runtime.Caching — за локален кеш в паметта на приложението. Позволява да се зададе времето на живот на кеша, приоритети и др.

  • IMemoryCache и IDistributedCache от ASP.NET Core — за кеширане в уеб приложения. IMemoryCache е локален кеш, IDistrubutedCache е за разпределен кеш (например Redis).

  • Външни системи за кеширане като Redis или Memcached за мащабируемо и разпределено кеширане.

Пример за използване на 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); // метод за получаване от базата данни
    cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// използваме user

Този подход намалява броя на заявките към базата данни и подобрява производителността.