Bei der Entwicklung von Projekten wird Cache oft verwendet, um bestimmte Daten entsprechend den geschäftlichen Anforderungen zu speichern oder den Inhalt von Datenbankanfragen zu speichern, um den Druck auf die Datenbank zu verringern.
Häufig verwendete Speichercaches: System.Runtime.Caching / MemoryCache und Microsoft.Extensions.Caching.Memory
Microsoft hat zwei Lösungen, zwei verschiedene NuGet-Pakete zum Caching, beide sind großartig, laut Microsofts Empfehlung und bevorzugen Microsoft.Extensions.Caching.Memory, weil es besser mit dem Asp.NET-Kern integriert ist. Es kann einfach in den Abhängigkeitsinjektionsmechanismus von Asp.NET Core eingeschleust werden.
Dieser Artikel verwendet Microsoft.Extensions.Caching.Memory, um Daten zu cachen, die als MSCache abgekürzt werden, und Microsoft führt ein:Der Hyperlink-Login ist sichtbar.
Hinweis: Microsoft.Extensions.Caching.Memory ist thread-sicher
Was kann MSCache tun?
- Absolut abgelaufener Support
- Unterstützung für gleitende Verfallszeiten (gib eine Zeit an, TimeSpan, verschoben, wenn innerhalb der angegebenen Zeit eine zwischengespeicherte Zeit vorhanden ist, sonst läuft sie ab)
- Abgelaufener Rückruf
- Zollablauf
MemoryCacheEntryOptions-Cache-Cache-Einstellungen
- Absolutes AblaufAbsolute Verfallszeit, falls null, ist die Bedingung ungültig
- AbsoluteExpirationRelativJetztDie absolute Verfallszeit relativ zur aktuellen Zeit (unter Verwendung von TimeSpan) ist Nullbedingung ungültig
- SlidingExpirationVerschiebe die Ablaufzeit
- Ablauf-TokensVerfügbar, um den Cache-Ablauf anzupassen
- Rückrufe nach der RäumungCache-Invalidierungsaufrufe
- PrioritätCache-Item-Priorität (die Reihenfolge, in der der Cache vollständig gelöscht wird, wenn der Cache voll ist)
- GrößeRepräsentiert die Größe der zwischengespeicherten Daten, die im In-Memory-Cache in der Regel null ist
Fang mit MSCache an
Projekt ASP.NET Core MVC Nuget Command Installation:
Beim Verwenden erstellen Sie einfache Pakete.
Benutzeroberfläche:
Implementierung:
Abhängigkeitsinjektionskonfiguration Singleton
Tests verwenden MSCache
Schreiben Sie Daten mit relativem Ablauf und Sliding-Ablauf und führen Sie einen Lesetest mit dem Code wie folgt durch.
Controller-Code:
Schreibe zwischengespeicherte Daten:
Lesen Sie zwischengespeicherte Daten:
Zugang:Der Hyperlink-Login ist sichtbar.Nach Einstellung des relativen Ablaufs und des gleitenden Ablaufs greifen Sie zu: https://localhost:44370/Home/Get Erhalten Sie die zwischengespeicherten Daten wie folgt:
Innerhalb von 30 Sekunden habe ich den Link zum Lesen des Caches mehrfach besucht und festgestellt, dass der absolute Ablauf nach 30 Sekunden vollständig abgelaufen ist, aber ich konnte ihn nach dem Verschieben des Ablaufs noch lesen, wie in der Abbildung unten gezeigt:
(Ende)
|