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