Projektek fejlesztésekor a cache-t gyakran használják arra, hogy adatokat az üzleti igényeik szerint gyorsanyítsanak, vagy adatbázis-lekérdezések tartalmát gyorsítótározzák, hogy csökkentsék az adatbázisra nehezedő nyomást.
Leggyakrabban használt memóriagyorsítótárak: System.Runtime.Caching / MemoryCache és Microsoft.Extensions.Caching.Memory
A Microsoftnak 2 megoldása van, két különböző NuGet csomagja a gyorsítótárhoz, mindkettő nagyszerű, a Microsoft ajánlása szerint inkább a Microsoft.Extensions.Caching.Memory alkalmazást részesítik előnyben, mert az jobban integrálódik az Asp .NET magjával. Könnyen beilleszthető az Asp .NET Core függőségi injekciós mechanizmusába.
Ez a cikk a Microsoft.Extensions.Caching.Memory oldalt használja az adatok gyorsítótárához, amelyet MSCache rövidítenek, és a Microsoft bevezeti:A hiperlink bejelentkezés látható.
Megjegyzés: A Microsoft.Extensions.Caching.Memory szálbiztonságban van
Mit tehet az MSCache?
- Abszolút lejárt támogatás
- Csúsztató lejárati támogatás (megadj egy időt, TimeSpan, halasztva, ha a megadott időn belül van gyorsítótár, különben lejár)
- Lejárt visszahívás
- Egyedi lejárat
MemoryCacheEntryOptions cache beállítások
- Abszolút LejárásAbszolút lejárati idő, ha null, a feltétel érvénytelen.
- AbsoluteExpirationRelativeTo NowAz abszolút lejárati idő az aktuális időhöz képest (TimeSpan használatával) nullfeltétel érvénytelen.
- CsúszásExpirationCsúsztasd el a lejárati időt
- Lejáró tokenekElérhető a gyorsítótár lejáratának testreszabásához
- PostExictionCallbacksCache érvénytelenítési visszahívások
- PrioritásCache item prioritás (az a sorrend, hogy a cache teljes mértékben törődik, amikor a cache megtelt)
- MéretA gyorsítótározott adatok méretét jelenti, amely általában null a memórián belüli gyorsítótárban
Kezdj el az MSCache-t
Project ASP.NET Core MVC Nuget parancs telepítése:
Használatkor készíts egyszerű csomagokat.
Felület:
Megvalósítás:
Dependency injection konfiguráció singleton
A tesztek MSCache használatával
Írj adatokat relatív lejárattal és csúsztató lejárással és olvasótesztet a kóddal az alábbiak szerint.
Vezérlő kód:
Gyorsítótározott adatok írása:
Gyorsítótározott adatok olvasása:
Hozzáférés:A hiperlink bejelentkezés látható.A relatív lejárat és csúsztató lejárat beállítása után a hozzáférés: https://localhost:44370/Home/Get A gyorsítótározott adatokat a következőképpen kapjuk:
30 másodpercen belül többször is megnéztem a linket, hogy elolvassam a gyorsítótárt, és azt találtam, hogy az abszolút lejárat 30 másodperc után teljesen lejárt, de a lejárat csúsztatása után is el tudtam olvasni, ahogy az alábbi ábrán is látható:
(Vége)
|