Sobes.tech
Junior — Middle

Quelles approches ou outils avez-vous utilisés pour la mise en cache des données?

sobes.tech IA

Réponse de l'IA

Pour la mise en cache des données en C#, j'utilise souvent plusieurs approches:

  • MemoryCache du namespace System.Runtime.Caching — pour le cache local en mémoire de l'application. Permet de définir la durée de vie du cache, les priorités, etc.

  • IMemoryCache et IDistributedCache de ASP.NET Core — pour la mise en cache dans les applications web. IMemoryCache est un cache local, IDistrubutedCache est pour le cache distribué (par exemple, Redis).

  • Systèmes de cache externes, comme Redis ou Memcached, pour un cache évolutif et distribué.

Exemple d'utilisation de 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); // méthode pour obtenir depuis la base de données
    cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// utilisation de user

Cette approche réduit le nombre de requêtes à la base de données et améliore la performance.