Podczas tworzenia projektów pamięć podręczna jest często używana do buforowania niektórych danych zgodnie z potrzebami biznesowymi lub do przechowywania treści zapytań bazowych w celu zmniejszenia obciążenia bazy danych.
Powszechnie używane pamięci podręczne: System.Runtime.Caching / MemoryCache oraz Microsoft.Extensions.Caching.Memory
Microsoft ma 2 rozwiązania, dwa różne pakiety NuGet do buforowania, oba są świetne, według rekomendacji Microsoftu, wolę używać Microsoft.Extensions.Caching.Memory, bo lepiej integruje się z rdzeniem Asp .NET. Można go łatwo wprowadzić do mechanizmu wstrzykiwania zależności w Asp .NET Core.
W tym artykule używa się Microsoft Extensions.Caching.Memory do buforowania danych, co jest skracane jako MSCache, a Microsoft wprowadza:Logowanie do linku jest widoczne.
Uwaga: Microsoft.Extensions.Caching.Memory jest bezpieczna dla wątków
Co może zrobić MSCache?
- Absolutne wygasłe wsparcie
- Obsługa przesuwającego się wygaśnięcia (określ czas, TimeSpan, odroczony, jeśli w określonym czasie jest czas buforowy, w przeciwnym razie wygaśnie)
- Wygasła odmowa zwrotna
- Niestandardowy termin wygaśnięcia
Ustawienia pamięci podręcznej MemoryCacheEntryOptions
- AbsolutnyWygaśnięcieBezwzględny czas ważności, jeśli jest zerowy, warunek jest nieważny
- AbsolutneExpirationRelativeToNowBezwzględny czas wygaśnięcia względem bieżącego czasu (przy użyciu TimeSpan) jest warunkiem nieważnym
- PrzesuwająceWażnośćPrzesuń czas ważności
- ExpirationTokensDostępne do personalizacji wygaśnięcia pamięci podręcznej
- Callbacki po eksmisjiCallbacki unieważnienia pamięci podręcznej
- PriorytetPriorytet przedmiotów cache (kolejność, w jakiej pamięć podręczna jest absolutnie czyszczona, gdy jest pełna)
- RozmiarReprezentuje rozmiar danych w pamięci podręcznej, który zazwyczaj jest zerowy w pamięci podręcznej
Zacznij z MSCache
Projekt ASP.NET Core MVC Instalacja Nuget Command:
Podczas używania rób proste opakowania.
Interfejs:
Realizacja:
Konfiguracja wstrzykiwania zależności singleton
Testy wykorzystują MSCache
Zapisz dane z wykorzystaniem względnego wygaśnięcia i przesuwającego się wygaśnięcia oraz wykonaj test odczytu z kodem w następujący sposób.
Kod kontrolera:
Zapis danych w pamięci podręcznej:
Odczytuj dane w pamięci podręcznej:
Dostęp:Logowanie do linku jest widoczne.Po ustawieniu względnego i przesuwającego się wygaśnięcia, uzyskaj: https://localhost:44370/Home/Get Pobierz dane w pamięci podręcznej w następujący sposób:
W ciągu 30 sekund wielokrotnie odwiedzałem link, aby odczytać pamięć podręczną i okazało się, że absolutny termin wygaśnięcia całkowicie wygasa po 30 sekundach, ale nadal mogłem go odczytać po przesunięciu terminu ważności, jak pokazano na poniższym rysunku:
(Koniec)
|