Sobes.tech
Junior — Middle

Jaké metody nebo nástroje jste použili k implementaci cache v svých projektech?

sobes.tech AI

Odpověď od AI

Pro implementaci kešování v projektech C# jsem použil několik přístupů a nástrojů:

  • MemoryCache z prostoru názvů System.Runtime.Caching pro kešování dat v paměti aplikace.
  • Distribuovaná cache (například Redis) pro kešování v distribuovaném prostředí, což je užitečné při škálování.
  • Použití atributů kešování v ASP.NET Core, například [ResponseCache] pro kešování HTTP odpovědí.
  • Vytvoření vlastního vrstvy cache s použitím slovníků a časových limitů pro specifické úkoly.

Příklad použití MemoryCache:

using System.Runtime.Caching;

MemoryCache cache = MemoryCache.Default;
string cacheKey = "user_123";
var userData = cache.Get(cacheKey);
if (userData == null)
{
    userData = GetUserFromDatabase(123); // metoda získání dat
    cache.Set(cacheKey, userData, DateTimeOffset.Now.AddMinutes(10));
}
// Použití userData