Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 5163|Ответ: 5

[.NET Core] ASP.NET Core (18) Настройка простого кэша выхода OutputCache

[Скопировать ссылку]
Опубликовано 2023-5-7 21:42:06 | | | |
Требования: Иметь его в .NET FrameworkOutputCacheAttributeЭта функция (используемая для обозначения способа кэширования выхода) хранит часто используемые и редко меняющиеся данные в памяти и выводит ответ напрямую, что может повысить производительность сайта в параллельном режиме и снизить нагрузку на сервер и базу данных. Эта функция была добавлена только в .NET 7.





ASP.NET Вывод кэш-промежуточного ПО в Core:Вход по гиперссылке виден.

Принцип кэширования выхода: каждый запрос сначала определяет, существует ли он в кэше, если его нет, записывает содержимое ответа в кэш и затем выводит ответ; если кэш существует, ответ на выход данных получается непосредственно из кэша. через выходной кэшСокращение запросов к базе данных, уменьшение некоторых логических операций и прямое получение из кэша улучшает как параллельность, так и отзывчивость

Поскольку в .NET 6 нет функции OutputCacheAttribute, мы можем реализовать простой выходной кэш самостоятельно.


При отсутствии выходного кэша результаты стресс-тестов выглядят следующим (База данных проекта подключена к серверу Гонконга):



Результаты стресс-тестов: разрешено только 10 параллельных процессов в секунду (медленная передача базы данных).

Чтобы попытаться добавить кэш выхода, сначала создам новую функцию OutputCacheAttribute, код выглядит следующим образом:

Создайте новое промежуточное программное обеспечение OutputCacheMiddleware для блокировки запроса, и код выглядит следующим образом:

Добавьте промежуточное программное обеспечение UseOutputCacheExtensions в Program.cs с помощью следующего кода:

Наконец, добавьте эту функцию в метод контроллера следующим кодом:

Опять же, с помощью испытаний под давлением это возможноБолее 10 000 совместных маршрутов в секунду, как показано на рисунке ниже:

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



Инструмент Cassowary для стресс-тестирования HTTP-запросов
https://www.itsvse.com/thread-10557-1-1.html
(Конец)




Предыдущий:[Поворот]. NET 8 Новые высокопроизводительные типы
Следующий:Используются каналы высокой производительности в очереди .NET Core
 Хозяин| Опубликовано 2023-5-7 21:50:45 |

обзор

ASP.NET Core (17) интегрирует анализ производительности приложений MiniProfile
https://www.itsvse.com/thread-10571-1-1.html

ASP.NET Ядро (16) Зависит от инъекции динамических регистрационных сервисов
https://www.itsvse.com/thread-10560-1-1.html

ASP.NET Core (XV) использует HttpClient для отправки HTTP-запросов
https://www.itsvse.com/thread-10311-1-1.html

ASP.NET Core (четырнадцать) основана на капче изображения SkiaSharp
https://www.itsvse.com/thread-10287-1-1.html

ASP.NET Core (XIII), чтобы определить, является ли это запросом Ajax
https://www.itsvse.com/thread-10284-1-1.html

ASP.NET Core (двенадцать) фронтенд JS, объединение CSS и компрессия
https://www.itsvse.com/thread-10282-1-1.html

ASP.NET Маршрут конечной точки Core (XI) добавляет промежуточное ПО для отображения всех сервисов DI
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Подробное объяснение приоритетов конфигурации в Core(10).
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Подробное объяснение промежуточного программного обеспечения Core (9).
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Подробное объяснение Core Middleware
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET яма стандартных параметров интерфейса Swagger в Core(8).
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Core (7) Глубокий анализ исходного кода фреймворка
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Core (VI) DI вручную получает метод введения объектов
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Core (пять) основана на распределённых транзакциях с CAP
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Фильтр Core(4) унифицированная валидация модели ModelState
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Ядро (iii) Динамическое создание экземпляров с помощью ActivatorUtilities
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Перезапустить приложение по коду
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) использует кэширование Redis
https://www.itsvse.com/thread-9393-1-1.html
 Хозяин| Опубликовано 2023-5-7 21:53:14 |
О asp.net режиме отключения очистки кэша OutputCache
https://www.itsvse.com/thread-5843-1-1.html

ASP.NET Конфигурация параметров кэша OutputCache web.config
https://www.itsvse.com/thread-4917-1-1.html

mvc cache — правильное использование свойства OutputCache VaryByParam
https://www.itsvse.com/thread-3488-1-1.html
Опубликовано 2023-5-8 09:37:41 |
Учитесь учиться
Опубликовано 17.05.2023 10:37:28 |
HTTP-код: 204 Нет содержимого

204 No Content: сервер успешно обработал запрос, но ничего не вернул.

Написание в тело ответов недопустимо для ответов с кодом статуса 204.
 Хозяин| Опубликовано 22.06.2023 13:20:52 |
Свойство HttpRequest.BodyReader:https://learn.microsoft.com/zh-c ... prequest.bodyreader

Свойство HttpResponse.BodyWriter:https://learn.microsoft.com/zh-c ... response.bodywriter
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com