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.