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
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Gestione dei nomi con le regole @layer in CSS
Referenziare un @layer più alto in CSS
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Triggerare una pipeline su un altro repository di Azure DevOps
Il nuovo controllo Range di Blazor 9
Generare una User Delegation SAS in .NET per Azure Blob Storage
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Potenziare la ricerca su Cosmos DB con Full Text Search
Generare velocemente pagine CRUD in Blazor con QuickGrid
Supportare la sessione affinity di Azure App Service con Application Gateway
I più letti di oggi
- .NET Conference Italia 2024 - Milano
- Develop and distribute Azure Functions using K8s and CI/CD
- Disponibile la versione finale di Hyper-V: la virtualizzazione per Windows Server 2008
- Speciale Mastering Entity Framework
- Velocity arriva alla CTP3
- Silverlight Summer: un'estate speciale piena di Style per i controlli Silverlight!
- Disponibile la versione beta di Silverlight 4.0
- Mono 0.13: ora anche web services
- .NET Alerts Software Development Kit