Cerințe: Să ai unul în .NET FrameworkOutputCacheAttributeAceastă caracteristică (care este folosită pentru a marca metoda de operare a stocării în cache a ieșirii) stochează date frecvent accesate și rare schimbate în memorie și generează direct conținut de răspuns, ceea ce poate îmbunătăți performanța concurenței site-ului și reduce presiunea asupra serverului și bazei de date. Această funcție a fost adăugată doar în .NET 7.
ASP.NET Middleware-ul cache-ului de ieșire în Core:Autentificarea cu hyperlink este vizibilă.
Principiul cache-ului de ieșire: fiecare cerere determină mai întâi dacă există în cache, dacă nu există, scrie conținutul răspunsului în cache și apoi transmite răspunsul; dacă cache-ul există, răspunsul de ieșire de date este obținut direct din cache. prin cache de ieșireReducerea interogărilor bazei de date, reducerea unor operații logice și preluarea direct din cache îmbunătățesc atât concurența, cât și răspunsul。
Deoarece nu există o funcție OutputCacheAttribute în .NET 6, putem implementa noi înșine un cache simplu de ieșire.
În absența unui cache de ieșire, rezultatele testului de stres sunt următoarele (Baza de date a proiectului este conectată la serverul din Hong Kong):
Rezultatele testului de stres: Doar 10 concurențe pe secundă permise (transfer lent în baza de date).
Pentru a încerca să adaugi un cache de ieșire, mai întâi creează o nouă funcție OutputCacheAttribute, codul este următorul:
Creează un nou middleware OutputCacheMiddleware pentru a bloca cererea, iar codul este următorul:
Adaugă middleware-ul UseOutputCacheExtensions la Program.cs cu următorul cod:
În final, adaugă această funcție în metoda controllerului cu următorul cod:
Din nou, prin testarea la presiune, acest lucru se poate realizaPeste 10.000 de concurențe pe secundă, așa cum se arată în figura de mai jos:
cassowary.exe rulează -u http://localhost:5222/zh-cn -c 50 -n 100000
(Sfârșit)
|