La dezvoltarea proiectelor, cache-ul este adesea folosit pentru a stoca unele date în funcție de nevoile lor de afaceri sau pentru a stoca conținutul interogărilor bazei de date pentru a reduce presiunea asupra acesteia.
Cache-uri de memorie utilizate frecvent: System.Runtime.Caching / MemoryCache și Microsoft.Extensions.Caching.Memory
Microsoft are 2 soluții, 2 pachete NuGet diferite pentru caching, ambele sunt grozave, conform recomandării Microsoft, preferă să folosești Microsoft.Extensions.Caching.Memory pentru că se integrează mai bine cu Asp .NET core. Poate fi injectat cu ușurință în mecanismul de injectare a dependențelor al Asp .NET Core.
Acest articol folosește Microsoft.Extensions.Caching.Memory pentru a stoca datele în cache, prescurtat MSCache, iar Microsoft introduce:Autentificarea cu hyperlink este vizibilă.
Notă: Microsoft.Extensions.Caching.Memory este sigur pentru thread-uri
Ce poate face MSCache?
- Suport absolut expirat
- Suport pentru expirare glisantă (specifică o perioadă, TimeSpan, amânată dacă există un timp în cache în timpul specificat, altfel va expira)
- Callback expirat
- Expirare personalizată
Setări cache MemoryCacheEntryOptions
- AbsoluteExpirationTimpul absolut de expirare, dacă este nul, condiția este invalidă
- AbsoluteExpirationRelativeToNowTimpul absolut de expirare relativ la timpul curent (folosind TimeSpan) este condiția nulă invalidă
- SlidingExpirationGlisează timpul de expirare
- ExpirationTokensDisponibil pentru personalizarea expirării cache-ului
- Apeluri post-evacuareCallback-uri pentru invalidarea cache-ului
- PrioritatePrioritatea obiectelor cache (ordinea în care cache-ul este complet golit când cache-ul este plin)
- DimensiuneReprezintă dimensiunea datelor stocate în cache, care este în general nulă în cache-ul din memorie
Începe cu MSCache
Proiectul ASP.NET MVC de bază Instalarea comenzii Nuget:
Când folosești, fă pachete simple.
Interfață:
Implementare:
Configurația injecției de dependențe singleton
Testele folosesc MSCache
Scrieți datele folosind expirarea relativă și expirarea glisantă și efectuați un test de citire cu codul după cum urmează.
Cod controler:
Scrie date în cache:
Citește datele cache-ului:
Acces:Autentificarea cu hyperlink este vizibilă.După setarea expirării relative și a expirării glisante, accesează: https://localhost:44370/Home/Get Obține datele stocate în cache astfel:
În 30 de secunde, am accesat linkul pentru a citi cache-ul de mai multe ori și am constatat că expirarea absolută expiră complet după 30 de secunde, dar tot puteam citi după ce am glisat expirarea, așa cum se vede în figura de mai jos:
(Sfârșit)
|