Sobes.tech
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.