Junior — Middle
Quali approcci o strumenti hai utilizzato per implementare la cache dei dati?
sobes.tech AI
Risposta dell'AI
Per la memorizzazione nella cache dei dati in C#, utilizzo spesso diversi approcci:
-
MemoryCache dello spazio dei nomi
System.Runtime.Caching— per cache locale in memoria dell'applicazione. Permette di impostare il tempo di vita della cache, le priorità, ecc. -
IMemoryCache e IDistributedCache di ASP.NET Core — per la memorizzazione nella cache nelle applicazioni web. IMemoryCache è una cache locale, IDistrubutedCache è per cache distribuita (ad esempio Redis).
-
Sistemi di cache esterni, come Redis o Memcached, per cache scalabile e distribuita.
Esempio di utilizzo di 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); // metodo per ottenere dal database
cache.Set(cacheKey, user, DateTimeOffset.Now.AddMinutes(10));
}
// utilizziamo user
Questo approccio riduce il numero di accessi al database e migliora le prestazioni.