Junior — Middle
Welke benaderingen of tools hebt u gebruikt voor het implementeren van gegevenscaching?
sobes.tech AI
Antwoord van AI
Voor het cachen van gegevens in C# gebruik ik vaak verschillende benaderingen:
-
MemoryCache uit de namespace
System.Runtime.Caching— voor lokale cache in het geheugen van de applicatie. Hiermee kun je de levensduur van de cache, prioriteiten, enz. instellen. -
IMemoryCache en IDistributedCache uit ASP.NET Core — voor caching in webapplicaties. IMemoryCache is een lokale cache, IDistrubutedCache is voor gedistribueerde cache (bijvoorbeeld Redis).
-
Externe cache-systemen zoals Redis of Memcached voor schaalbare en gedistribueerde caching.
Voorbeeld van het gebruik van 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); // methode om op te halen uit de database
cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// gebruik user
Deze aanpak vermindert het aantal database-aanroepen en verbetert de prestaties.