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.Cachingpro 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