Sobes.tech
Junior — Middle

Koje pristupe ili alate ste koristili za implementaciju keširanja podataka?

sobes.tech АИ

Одговор од АИ

Za keširanje podataka u C# često koristim nekoliko pristupa:

  • MemoryCache iz prostora imena System.Runtime.Caching — za lokalni keš u memoriji aplikacije. Omogućava podešavanje vremena trajanja keša, prioriteta itd.

  • IMemoryCache i IDistributedCache iz ASP.NET Core — za keširanje u web aplikacijama. IMemoryCache je lokalni keš, IDistrubutedCache je za distribuirani keš (npr. Redis).

  • Spoljašnji sistemi keširanja, poput Redis ili Memcached, za skalabilno i distribuirano keširanje.

Primer korišćenja 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); // metoda za dobijanje iz baze podataka
    cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// koristimo user

Ovaj pristup smanjuje broj poziva ka bazi podataka i poboljšava performanse.