Wymagania: Mieć go w .NET FrameworkAtrybut OutputCacheAttributeFunkcja ta (używana do oznaczania metody działania buforowania wyjścia) przechowuje często odwiedzane i rzadko zmieniające się dane w pamięci i bezpośrednio generuje treść odpowiedzi, co może poprawić wydajność współbieżności strony internetowej oraz zmniejszyć presję na serwer i bazę danych. Ta funkcja została dodana dopiero w wersji .NET 7.
ASP.NET Wyjściowe oprogramowanie pośredniczące cache w rdzeniu:Logowanie do linku jest widoczne.
Zasada buforowania wyjściowego: każde żądanie najpierw określa, czy istnieje w pamięci podręcznej, jeśli nie istnieje, zapisuje treść odpowiedzi do pamięci podręcznej, a następnie generuje odpowiedź; jeśli pamięć podręczna istnieje, odpowiedź wyjściowa jest bezpośrednio uzyskiwana z niej na wyjściu. Przez pamięć podręczną wyjściowąOgraniczenie zapytań do bazy danych, ograniczenie niektórych operacji logicznych oraz pobieranie bezpośrednio z pamięci podręcznej poprawia zarówno współbieżność, jak i responsywność。
Ponieważ w .NET 6 nie ma funkcji OutputCacheAttribute (Atrybut OutputCacheAtribut), możemy sami zaimplementować prostą pamięć podręczną wyjściową.
W przypadku braku pamięci podręcznej wyjściowej, wyniki testów obciążeniowych są następujące (Baza danych projektu jest połączona z serwerem w Hongkongu):
Wyniki testów obciążeniowych: dozwolone tylko 10 współbieżności na sekundę (wolny transfer w bazie danych).
Aby spróbować dodać pamięć podręczną wyjściową, najpierw stwórz nową funkcję Atrybutu OutputCacheAttribute – kod wygląda następująco:
Stwórz nowe oprogramowanie pośredniczące OutputCacheMiddleware, aby zablokować żądanie, a kod wygląda następująco:
Dodaj middleware UseOutputCacheExtensions do Program.cs z następującym kodem:
Na koniec dodaj tę funkcję do metody kontrolera za pomocą następującego kodu:
Ponownie, dzięki testom ciśnieniowym, można to osiągnąćPonad 10 000 współbieżności na sekundę, jak pokazano na poniższym rysunku:
cassowary.exe bieg -u http://localhost:5222/zh-cn -c 50 -n 100000
(Koniec)
|