Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 5163|Respuesta: 5

[.NET Core] ASP.NET Núcleo (18) Personalizar una caché de salida sencilla de OutputCache

[Copiar enlace]
Publicado el 7-5-2023 21:42:06 | | | |
Requisitos: Tener uno en el .NET FrameworkOutputCacheAttributeLa función (que se utiliza para marcar el método operativo de almacenamiento en caché de su salida) almacena datos frecuentemente accedidos y que cambian poco frecuentemente en memoria y genera contenido de respuesta directamente, lo que puede mejorar el rendimiento de la concurrencia del sitio web y reducir la presión sobre el servidor y la base de datos. Esta función solo se añadió en .NET 7.





ASP.NET Salida del middleware de caché en Core:El inicio de sesión del hipervínculo es visible.

El principio de la caché de salida: cada solicitud primero determina si existe en la caché; si no existe, escribe el contenido de la respuesta en la caché y luego la responde; si la caché existe, la respuesta de salida de datos se obtiene directamente de la caché. a través de la caché de salidaReducir las consultas a la base de datos, reducir algunas operaciones lógicas y obtener directamente desde la caché mejora tanto la concurrencia como la capacidad de respuesta

Como no hay función OutputCacheAttribute en .NET 6, podemos implementar una caché de salida sencilla nosotros mismos.


En ausencia de una caché de salida, los resultados de la prueba de estrés son los siguientes (La base de datos del proyecto está conectada al servidor de Hong Kong):



Resultados de la prueba de estrés: Solo se permiten 10 concurrencias por segundo (transferencia lenta en la base de datos).

Para intentar añadir una caché de salida, primero, crea una nueva función OutputCacheAttribute, el código es el siguiente:

Crea un nuevo middleware OutputCacheMiddleware para bloquear la petición, y el código es el siguiente:

Añade el middleware UseOutputCacheExtensions a Program.cs con el siguiente código:

Finalmente, añade la función al método controlador con el siguiente código:

De nuevo, con pruebas de presión, se puede lograrMás de 10.000 concurrencias por segundo, como se muestra en la figura siguiente:

cassowary.exe run -u http://localhost:5222/zh-cn -c 50 -n 100000



La herramienta Cassowary para pruebas de estrés de solicitudes HTTP
https://www.itsvse.com/thread-10557-1-1.html
(Fin)




Anterior:[Gira]. NET 8 Recientemente Añadido Tipos de Alto Rendimiento
Próximo:Se utiliza los canales de cola de alto rendimiento de .NET Core
 Propietario| Publicado el 7-05-2023 21:50:45 |

revisión

ASP.NET Core (17) integra el análisis de rendimiento de aplicaciones MiniProfile
https://www.itsvse.com/thread-10571-1-1.html

ASP.NET Núcleo (16) Dependiente de la inyección de servicios de registro dinámico
https://www.itsvse.com/thread-10560-1-1.html

ASP.NET Core (XV) utiliza HttpClient para enviar solicitudes HTTP
https://www.itsvse.com/thread-10311-1-1.html

ASP.NET Core (catorce) está basado en el captcha de imagen SkiaSharp
https://www.itsvse.com/thread-10287-1-1.html

ASP.NET Core (XIII) para determinar si es una solicitud Ajax o no
https://www.itsvse.com/thread-10284-1-1.html

ASP.NET Core (doce) JS front-end, empaquetado y compresión CSS
https://www.itsvse.com/thread-10282-1-1.html

ASP.NET ruta Core (XI) añade middleware para mostrar todos los servicios DI
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Explicación detallada de las prioridades de configuración en Core(10).
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Explicación detallada del middleware Middleware de Core (9).
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Explicación detallada del Middleware Core
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET pozo de los parámetros predeterminados de la interfaz Swagger en Core(8).
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Núcleo (7) Análisis en profundidad del código fuente del framework
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Core (VI) DI obtiene manualmente el método de inyectar objetos
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Core (cinco) se basa en transacciones distribuidas CAP
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Validación unificada de modelos de modelo del filtro Core(4)
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core (iii) Crear dinámicamente instancias usando ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Núcleo (2) Reiniciar la aplicación por código
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) utiliza caché Redis
https://www.itsvse.com/thread-9393-1-1.html
 Propietario| Publicado el 7-5-2023 21:53:14 |
Acerca de la configuración de desactivación del vaciado de caché de OutputCache en asp.net
https://www.itsvse.com/thread-5843-1-1.html

ASP.NET Configuración de parámetros web.config de la caché OutputCache
https://www.itsvse.com/thread-4917-1-1.html

mvc cache: el uso correcto de la propiedad OutputCache VaryByParam
https://www.itsvse.com/thread-3488-1-1.html
Publicado el 8-05-2023 09:37:41 |
Aprende a aprender
Publicado el 17-05-2023 a las 10:37:28 |
Código de estado HTTP: 204 Sin contenido

204 Sin contenido: El servidor procesó con éxito la solicitud pero no devolvió nada.

Escribir en el cuerpo de la respuesta es inválido para respuestas con código de estado 204.
 Propietario| Publicado el 22-6-2023 13:20:52 |
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com