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.