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
Този подход намалява броя на заявките към базата данни и подобрява производителността.