Quando si sviluppano progetti, la cache viene spesso utilizzata per memorizzare in cache alcuni dati in base alle loro esigenze aziendali, oppure per memorizzare in cache il contenuto delle query del database per ridurre la pressione sul database.
Cache di memoria comunemente utilizzate: System.Runtime.Caching / MemoryCache e Microsoft.Extensions.Caching.Memory
Microsoft ha 2 soluzioni, 2 diversi pacchetti NuGet per la cache, entrambi ottimi, secondo la raccomandazione di Microsoft, preferisco usare Microsoft.Extensions.Caching.Memory perché si integra meglio con il core Asp .NET. Può essere facilmente iniettato nel meccanismo di iniezione di dipendenza di Asp .NET Core.
Questo articolo utilizza Microsoft.Extensions.Caching.Memory per mettere in cache i dati, abbreviato in MSCache, e Microsoft introduce:Il login del link ipertestuale è visibile.
Nota: Microsoft.Extensions.Caching.Memory è thread-safe
Cosa può fare MSCache?
- Supporto assolutamente scaduto
- Supporto per scadenza scorrevole (specificare un tempo, TimeSpan, posticipato se c'è un tempo di cache all'interno del tempo specificato, altrimenti scadrà)
- Callback scaduto
- Scadenza personalizzata
Impostazioni della cache MemoryCacheEntryOptions
- AssoluteExpirationTempo di scadenza assoluto, se nullo, la condizione è invalida
- AssoluteExpirationRelativeToNowIl tempo di scadenza assoluto rispetto al tempo corrente (usando TimeSpan) è condizione nulla invalida
- SlidingExpirationScorri il tempo di scadenza
- ScadenzaTokenDisponibile per personalizzare la scadenza della cache
- Richiami post-EvictionCallback per invalidazione della cache
- PrioritàPriorità degli elementi della cache (l'ordine in cui la cache viene completamente cancellata quando la cache è piena)
- DimensioniRappresenta la dimensione dei dati cache, che generalmente è nullo nella cache in memoria
Inizia con MSCache
Progetto ASP.NET MVC Core Installazione del comando Nuget:
Quando usi, crea pacchetti semplici.
Interfaccia:
Implementazione:
Configurazione a iniezione di dipendenza singleton
I test utilizzano MSCache
Scrivi i dati usando la scadenza relativa e la scadenza scorrevole ed esegui un test di lettura con il codice come segue.
Codice Controller:
Scrivi dati nella cache:
Leggi i dati memorizzati in cache:
Accesso:Il login del link ipertestuale è visibile.Dopo aver impostato la scadenza relativa e la scadenza scorrevole, accedi a: https://localhost:44370/Home/Get Ottieni i dati memorizzati in cache come segue:
In 30 secondi, ho visitato il link per leggere la cache più volte e ho scoperto che la scadenza assoluta era completamente scaduta dopo 30 secondi, ma riuscivo comunque a leggerla dopo aver sfilato la scadenza, come mostrato nella figura sottostante:
(Fine)
|