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
Load test di ASP.NET Core con k6
Short-circuiting della Pipeline in ASP.NET Core
Controllare gli accessi IP alle app con Azure Container Apps
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Eseguire operazioni sui blob con Azure Storage Actions
Gestire la cancellazione di una richiesta in streaming da Blazor
Come migrare da una form non tipizzata a una form tipizzata in Angular
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Implementare il throttling in ASP.NET Core
Usare un KeyedService di default in ASP.NET Core 8
Potenziare Azure AI Search con la ricerca vettoriale