Sobes.tech
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.Caching ad 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.

  • IMemoryCacheIDistributedCache 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.