ASP.NET 출력 캐시는 ASP.NET 페이지의 렌더링된 콘텐츠의 메모리 내 복사본을 유지할 수 있도록 Microsoft에서 제공하는 메커니즘입니다. 이로 인해 ASP.NET은 과도한 데이터베이스 호출로 인해 비용이 많이 들 수 있는 이 페이지를 다시 실행하는 대신 메모리 내 캐시된 복사본에서 이 페이지에 대한 후속 사용자 요청을 처리할 수 있습니다.
따라서 ASP.NET 출력 캐시는 응용 프로그램 성능을 향상시킬 뿐만 아니라 비용이 많이 드는 데이터베이스 이동을 줄여줍니다. 이렇게 하지 않으면 모든 ASP.NET 페이지가 반복해서 실행되면 데이터베이스가 확장성 병목 현상이 되기 때문에 ASP.NET 응용 프로그램 확장성이 향상됩니다.
그러나 ASP.NET 출력 캐시는 작업자 프로세스가 자주 재설정되거나 재활용되는 ASP.NET 작업자 프로세스 주소 공간에 상주합니다. 이 경우 모든 ASP.NET 출력 캐시가 손실됩니다. 둘째, 웹 가든의 경우 동일한 페이지 출력이 여러 번 캐시되며 각 작업자 프로세스에서 한 번씩 많은 추가 메모리를 소비합니다.
NCache 세부 정보 NCache 기술 문서 ASP.NET 출력 캐시
또한 읽기 : 성능 향상을 위한 Microsoft Azure의 ASP.NET 출력 캐시
사용 NCache ASP.NET 출력 캐시용 분산 캐시로
이러한 ASP.NET 출력 캐시의 한계를 극복하기 위해 NCache 은(는) 작업자 프로세스 주소 공간 대신 프로세스 외부 캐시에서 ASP.NET 렌더링된 출력을 캐싱할 수 있도록 ASP.NET 출력 캐시 공급자를 구현했습니다. 이렇게 하면 각 작업자 프로세스에서 동일한 ASP.NET 페이지를 로컬로 렌더링하지 않고도 렌더링된 ASP.NET 페이지의 출력을 웹 팜의 다른 모든 웹 서버에서 사용할 수 있습니다.
사용하여 NCache ASP.NET 출력 캐시 공급자로 out-proc 캐시에 더 많은 데이터를 캐시할 수 있을 뿐만 아니라 데이터베이스의 로드를 크게 줄일 수도 있습니다. 렌더링된 각 ASP.NET 페이지 출력은 비용이 많이 드는 데이터베이스 트립이 수반되는 각 작업자 프로세스에서 페이지 렌더링 프로세스를 실행하지 않고 웹 팜의 모든 웹 서버에서 액세스할 수 있기 때문입니다.
더욱이, NCache 전체 페이지 대신 ASP.NET 페이지의 특정 부분 출력을 캐시할 수 있는 유연성을 제공합니다. 이 접근 방식은 ASP.NET의 특정 부분을 매번 렌더링하려는 시나리오에서 매우 유용합니다. 게다가, NCache 또한 작업자 프로세스가 재설정되거나 재활용되더라도 작업자 프로세스 주소 공간의 일부가 아니고 별도의 캐싱 서버에 있기 때문에 데이터가 손실되지 않기 때문에 고가용성을 제공합니다.
구성 단계 NCache 출력 캐싱 공급자
단계 : 1 회원가입 NCache ASP.NET 출력 캐시 공급자
ASP.NET 응용 프로그램의 web.config를 수정하여 등록 NCache 출력 캐싱 공급자는 다음과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<caching> <outputcache defaultprovider="NOutputCacheProvider"> <providers> <add name="NOutputCacheProvider" type="NCOutputCache.NOutputCacheProvider" exceptionsenabled="true" enablelogs="false" cachename="mypartitionofReplicaCache"> </add></providers> </outputcache> </caching> <compilation debug="true" targetframework="4.0"> <assemblies> <add assembly="Alachisoft.NCache.OutputCache, Version=4.1.0.0, Culture=neutral"> </add></assemblies> </compilation> |
단계 : 2 ASP.NET 출력 캐시 태그 추가
캐시하려는 출력이 있는 페이지에 아래에 언급된 출력 캐시 태그를 추가하십시오.
1 2 |
<%@ OutputCache VaryByParam="ID" Duration="300" %> |
또한 ASP.NET 4.0 이전의 ASP.NET 버전은 사용자 지정 ASP.NET 출력 캐시 공급자를 지원하지 않습니다. 따라서 모든 이전 버전의 ASP.NET을 지원하려면 NCache 또한 HttpModule을 사용하여 다른 버전의 ASP.NET 출력 캐시 공급자를 구현했습니다. 이 HttpModule은 ASP.NET 출력 캐시 공급자를 기반으로 합니다. NCache 응용 프로그램이 4.0 이전의 ASP.NET 버전을 사용하는 경우에도 분산 캐시를 사용하여 렌더링된 ASP.NET 페이지 출력을 저장할 수 있습니다.
결론
요약하자면, NCache 출력 캐싱 공급자를 사용하면 ASP.NET 응용 프로그램 응답 시간을 쉽게 높이고 데이터베이스 로드를 줄일 수 있습니다. 따라서 기어를 준비하고 사용을 시작하십시오. NCache 훨씬 빠르고 안정적인 경험을 위해!
현지화된 아카이브의 위치를 포함하도록 conf를 설정합니다. 내부 DistributedCache 코드에서 사용됩니다.