Sobes.tech
Junior — Middle

Aké metódy alebo nástroje ste použili na implementáciu cacheovania vo svojich projektoch?

sobes.tech AI

Odpoveď od AI

Na implementáciu cache v projektoch C# som použil niekoľko prístupov a nástrojov:

  • MemoryCache z priestoru názvov System.Runtime.Caching na cacheovanie dát v pamäti aplikácie.
  • Distribuovaná cache (napríklad Redis) na cacheovanie v distribuovanom prostredí, čo je užitočné pri škálovaní.
  • Použitie atribútov cache v ASP.NET Core, ako [ResponseCache] na cacheovanie HTTP odpovedí.
  • Implementácia vlastnej vrstvy cache s použitím slovníkov a timeoutov pre špecifické úlohy.

Príklad použitia MemoryCache:

using System.Runtime.Caching;

MemoryCache cache = MemoryCache.Default;
string cacheKey = "user_123";
var userData = cache.Get(cacheKey);
if (userData == null)
{
    userData = GetUserFromDatabase(123); // metóda na získanie dát
    cache.Set(cacheKey, userData, DateTimeOffset.Now.AddMinutes(10));
}
// Použitie userData