Junior — Middle
Məlumatların keşlənməsi üçün hansı yanaşmaları və ya alətləri istifadə etdiniz?
sobes.tech Süni İntellekt
AI-dan cavab
C# dilində məlumatların önbelleğe alınması üçün mən tez-tez bir neçə yanaşmadan istifadə edirəm:
-
MemoryCache
System.Runtime.Cachingad boşluğundan — tətbiqin yaddaşında yerli önbellek üçün. Bu, önbelleğin ömrünü, prioritetlərini və s. təyin etməyə imkan verir. -
IMemoryCache və IDistributedCache ASP.NET Core-dan — veb tətbiqlərdə önbellekləmə üçün. IMemoryCache yerli önbellekdir, IDistrubutedCache isə paylanmış önbellek üçün (məsələn, Redis).
-
Redis və ya Memcached kimi xarici önbellek sistemləri, miqyaslana bilən və paylanmış önbellekləmə üçün.
MemoryCache istifadə nümunəsi:
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); // verilənlər bazasından alma metodu
cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// istifadə edirik user
Bu yanaşma verilənlər bazasına edilən müraciətlərin sayını azaldır və performansı artırır.