이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 5163|회답: 5

[.NET 코어] ASP.NET 코어 (18) 간단한 OutputCache 출력 캐시를 커스터마이즈하기

[링크 복사]
2023-5-7 21:42:06에 게시됨 | | | |
요구사항: .NET 프레임워크 내에서 하나 갖추세요OutputCacheAttribute이 기능(출력 캐싱 방식을 표시하는 데 사용됨)은 자주 접근되거나 드물게 변경되는 데이터를 메모리에 저장하고 응답 콘텐츠를 직접 출력하여 웹사이트의 동시성 성능을 개선하고 서버와 데이터베이스에 가해지는 부담을 줄일 수 있습니다. 이 기능은 .NET 7에서야 다시 추가되었습니다.





ASP.NET 코어에서 캐시 미들웨어를 출력:하이퍼링크 로그인이 보입니다.

출력 캐싱의 원칙: 각 요청은 먼저 캐시에 존재하는지 확인하고, 캐시가 없으면 응답 내용을 캐시에 쓰고, 캐시가 존재하면 데이터 출력 응답이 캐시에서 직접 얻어집니다. 출력 캐시를 통해데이터베이스 쿼리를 줄이고 일부 논리 연산을 줄이며, 캐시에서 직접 가져오기는 동시성과 반응성을 모두 향상시킵니다

.NET 6에는 OutputCacheAttribute 기능이 없기 때문에, 저희가 간단한 출력 캐시를 직접 구현할 수 있습니다.


출력 캐시가 없는 경우, 스트레스 테스트 결과는 다음과 같습니다 (프로젝트 데이터베이스는 홍콩 서버에 연결되어 있습니다):



스트레스 테스트 결과: 초당 10번의 동시성만 허용됨(데이터베이스 전송 시 느림).

출력 캐시를 추가하려면 먼저 새로운 OutputCacheAttribute 기능을 생성하세요. 코드는 다음과 같습니다:

요청을 차단하는 새로운 OutputCacheMiddleware를 생성하면 코드는 다음과 같습니다:

다음 코드로 UseOutputCacheExtensions 미들웨어를 Program.cs에 추가하세요:

마지막으로, 다음 코드로 컨트롤러 메서드에 기능을 추가하세요:

역시 압력 시험을 통해 달성할 수 있습니다초당 10,000회 이상의 동시성, 아래 그림에서 볼 수 있습니다:

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



HTTP 요청 스트레스 테스트를 위한 캐소와리 도구
https://www.itsvse.com/thread-10557-1-1.html
(끝)




이전의:[돌기]. NET 8 새롭게 추가된 고성능 타입
다음:.NET 코어 고성능 큐 채널이 사용됩니다
 집주인| 2023-5-7 21:50:45에 게시됨 |

복습

ASP.NET 코어(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 코어(XV)는 HTTP 요청을 보낼 때 HttpClient를 사용합니다
https://www.itsvse.com/thread-10311-1-1.html

ASP.NET 코어(14)는 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 코어(12개) 프론트엔드 JS, CSS 번들링, 압축
https://www.itsvse.com/thread-10282-1-1.html

ASP.NET 코어(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 코어 미들웨어에 대한 상세한 설명
https://www.itsvse.com/thread-8126-1-1.html

Core(8) Swagger UI 기본 매개변수의 ASP.NET 구멍입니다.
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET 핵심 (7) 프레임워크 소스 코드에 대한 심층 분석
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET 코어(VI) DI는 객체 주입 방식을 수동으로 획득합니다
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET 코어(다섯 개)는 CAP 분산 트랜잭션을 기반으로 합니다
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET 코어(4) 필터 통합 모델스테이트 모델 검증
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET 코어 (iii) ActivatorUtilities를 사용하여 동적으로 인스턴스를 생성합니다
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET 코어 (2) 코드로 애플리케이션을 재시작함
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET 코어(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 캐시 OutputCache 속성 VaryByParam의 올바른 사용
https://www.itsvse.com/thread-3488-1-1.html
2023-5-8 09:37:41에 게시됨 |
배우기 위해 배우세요
2023-5-17 10:37:28에 게시됨 |
HTTP 상태 코드: 204 콘텐츠 없음

204 콘텐츠 없음: 서버가 요청을 성공적으로 처리했으나 아무런 응답도 받지 못했습니다.

상태 코드 204가 있는 응답문에는 응답 본문에 쓰는 것이 유효하지 않습니다.
 집주인| 2023-6-22 13:20:52에 게시됨 |
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com