Sobes.tech
Junior — Middle

Jaké přístupy nebo nástroje jste použili k implementaci ukládání dat do mezipaměti?

sobes.tech AI

Odpověď od AI

Pro ukládání dat do mezipaměti v C# často používám několik přístupů:

  • MemoryCache ze jmenného prostoru System.Runtime.Caching — pro místní cache v paměti aplikace. Umožňuje nastavit dobu životnosti cache, priority atd.

  • IMemoryCache a IDistributedCache z ASP.NET Core — pro ukládání do mezipaměti ve webových aplikacích. IMemoryCache je místní cache, IDistrubutedCache je pro distribuovanou cache (například Redis).

  • Externí cache systémy, jako Redis nebo Memcached, pro škálovatelné a distribuované ukládání do mezipaměti.

Příklad použití 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 získání z databáze
    cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// používáme user

Tento přístup snižuje počet dotazů do databáze a zvyšuje výkon.