Sobes.tech
Junior — Middle

Aké prístupy alebo nástroje ste použili na implementáciu cacheovania dát?

sobes.tech AI

Odpoveď od AI

Pre ukladanie dát do cache v C# často používam niekoľko prístupov:

  • MemoryCache z priestoru názvov System.Runtime.Caching — pre lokálnu cache v pamäti aplikácie. Umožňuje nastaviť dobu života cache, priority atď.

  • IMemoryCache a IDistributedCache z ASP.NET Core — pre cacheovanie v webových aplikáciách. IMemoryCache je lokálna cache, IDistrubutedCache je pre distribuovanú cache (napríklad Redis).

  • Externé cache systémy, ako Redis alebo Memcached, pre škálovateľné a distribuované cacheovanie.

Príklad použitia 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); // metóda na získanie z databázy
    cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// používame user

Tento prístup znižuje počet volaní do databázy a zlepšuje výkon.