Nei precedenti script ci siamo occupati a fondo del supporto alla cache distribuita in ASP.NET Core. Abbiamo già accennato come uno strumento simile sia una scelta praticamente obbligata quando abbiamo applicazioni nel cloud o, in generale, in load balancing: un layer di cache, comune a tutte le istanze, consente infatti di massimizzare le prestazioni e di togliere carico al database, migliorando di molto la scalabilità del sistema.
In fase di sviluppo, però, potremmo non avere a disposizione un'istanza di Redis Cache "personale", per cui ci potrebbe fare comodo sostituire alla cache distribuita una versione in memory.
Dato che le primitive per accedere alla cache sono esposte da un'interfaccia specifica, IDistributedCache (e da appositi TagHelper), non possiamo pensare di tornare a usare IMemoryCache: questo comporterebbe un rework e una duplicazione di codice praticamante ovunque nella nostra applicazione!
Fortunatamente esiste un provider per IDistributedCache che fa al caso nostro e implementa l'interfaccia sfruttando la cache in memory. Per attivarlo, basta registrarlo nel metodo AddServices di startup.cs:
public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddMvc(); services.AddDistributedMemoryCache(); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Generare una User Delegation SAS in .NET per Azure Blob Storage
Utilizzare gRPC su App Service di Azure
Recuperare l'ultima versione di una release di GitHub
Usare le navigation property in QuickGrid di Blazor
Introduzione ai web component HTML
Migliorare la sicurezza dei prompt con Azure AI Studio
Ricevere notifiche sui test con Azure Load Testing
Selettore CSS :has() e i suoi casi d'uso avanzati
Creare una libreria CSS universale - Rotazione degli elementi