• Facebook
  • 트위터
  • 유튜브
  • 라인드인
  • RSS
  • 기술 문서
  • 비교
  • 블로그
  • 다운로드
  • 문의하기
다운로드
목차 표시/숨기기

응답 캐싱을 위해 IDistributedCache 구성

ASP.NET Core는 IDistributedCache를 제공합니다. 응답 캐싱 이를 통해 향후 요청을 위해 클라이언트 요청의 서버 응답을 캐시할 수 있습니다. 응답 캐싱은 응답이 캐시에서 제공되므로 애플리케이션 성능을 향상시킵니다. 또한 동일한 요청에 대한 응답을 다시 처리하고 생성할 필요가 없으므로 서버의 처리 부하가 줄어듭니다.

NCache 응답 캐싱을 위한 IDistributedCache ASP.NET Core에서 애플리케이션이 서버 응답을 저장하여 향후 요청에 사용할 수 있도록 하는 분산 메커니즘입니다. 데이터를 직접 제공함으로써 NCache이러한 애플리케이션은 처리 부하를 최소화하고 응답 시간을 크게 향상시킵니다.

주의 사항

종속성을 사용한 응답 캐싱에 관한 고급 옵션은 다음으로 이동하세요. ASP.NET 코어 응답 캐싱.

IDistributedCache와 함께 응답 캐싱을 언제 사용합니까?

IDistributedCache는 응답 캐싱을 위해 사용되며, 정적이고 자주 수정되지 않는 애플리케이션 항목을 캐시하는 데 사용할 수 있습니다. 여기에는 CSS/JavaScript 파일, 미디어 또는 웹 페이지의 메타데이터가 포함됩니다. 따라서 서버에 콘텐츠를 다시 요청하는 대신 캐시에서 해당 데이터를 가져올 수 있습니다.

응답 캐싱 옵션

  • HTTPS 기반 캐싱 클라이언트의 웹 브라우저 끝에서 데이터를 캐시합니다. 이후의 모든 요청은 웹 서버 대신 캐시에서 처리되므로 클라이언트가 웹 서버에 요청하는 수가 줄어듭니다. 그러나 응답이 브라우저에 캐시되면 할당된 캐싱 시간이 만료된 후에만 만료되며 필요할 때 지울 수 없습니다.

  • 메모리 내 캐싱 ASP.NET Core 자체의 내부 캐싱 공급자를 사용하여 서버 메모리에 데이터를 캐시합니다. 이 옵션은 ASP.NET Core가 제공하는 기능 덕분에 응답 캐싱에 더 유연합니다. 캐시 태그 도우미 이를 통해 캐시해야 하는 MVC 애플리케이션의 보기를 지정하는 태그를 추가할 수 있습니다. InProc이므로 필요한 경우 ASP.NET 엔진을 다시 시작하여 캐시를 지울 수 있습니다.

  • 분산 캐싱 애플리케이션이 웹 팜에서 호스팅되는 경우 메모리 내 데이터를 캐시합니다. 캐시는 웹 팜의 모든 서버에 분산되며 요청된 데이터가 캐시에 있으면 모든 서버가 클라이언트에 응답할 수 있습니다. 인메모리 캐싱과 유사합니다. 분산 캐시 태그 도우미 캐시해야 하는 정확한 뷰를 지정할 수 있습니다. 이곳은 NCache IDistributedCache 인터페이스를 통해 응답 캐싱을 위한 분산 캐시로 사용될 수 있기 때문에 활용됩니다. 또한 캐시가 확장 가능하고 필요할 때 캐시에서 항목을 제거할 수 있으므로 애플리케이션에 대한 제어가 더 확장됩니다.

사용 NCache 응답 캐싱을 위한 IDistributedCache로서, NCache 서비스 및 미들웨어를 구성하는 자체 확장 방법을 제공합니다.

사전 조건

ASP.NET Core 응답 캐싱을 사용하기 전에 NCache다음 전제 조건이 충족되었는지 확인하십시오.

  • . NET
  • 다음 NuGet 패키지를 애플리케이션에 설치하십시오. NCache 판:
    • 기업 : NCache.Microsoft.Extensions.Caching
    • 오픈소스: NCache.Microsoft.Extensions.Caching.OpenSource
  • 활용하기 위해 NCache응답 캐싱을 위한 메서드를 사용하려면 애플리케이션에 다음 네임스페이스를 포함하십시오.
    • Alachisoft.NCache.캐싱.분산
  • 캐시가 실행 중이어야 합니다.
  • API 세부 정보는 다음을 참조하세요. AddResponse캐싱.
  • 추가되는 데이터가 직렬화 가능.

응답 캐싱 서비스 구성

ASP.NET Core는 응답 캐싱을 위해 IDistributedCache라는 자체 미들웨어를 제공합니다. 이 미들웨어는 서비스 컬렉션에 추가해야 합니다. AddResponse캐싱 방법.

  • 엽니다 Startup.cs 프로젝트의.

  • . ConfigureServices 메소드에 다음 서비스를 추가하십시오.

public void ConfigureServices(IServiceCollection services)
{
    services.AddResponseCaching();

    // Remaining services here
}
주의 사항

작업이 안전하도록 하려면 에 설명된 대로 응용 프로그램 내에서 잠재적인 예외를 처리하는 것이 좋습니다. 처리 실패.

구성 NCache 분산 캐시로

NCache IDistributedCache를 통해 사용자 지정 메서드를 제공하여 ASP.NET 응용 프로그램을 위한 분산 캐시로 구성합니다. 여기에는 캐시 이름만 필요합니다. NCache MVC 콘텐츠를 저장하기 위한 선택적 구성입니다.

방법 1: 캐시 구성 지정 앱 설정.json

캐시 구성은 별도의 섹션으로 추가할 수 있습니다. 앱 설정.json 당신의 응용 프로그램의. 다음 예는 섹션을 추가합니다. NCacheSettings 캐시 이름을 구성합니다. 등록된 캐시에 따라 이름을 변경할 수 있습니다.

중대한

지정된 캐시가 실행 중인지 확인하십시오.

. . .

"NCacheSettings": {
    "CacheName": "demoCache",
    "EnableLogs": "True",
    "ExceptionsEnabled": "True"
}

. . .

캐시 구성이 지정되면 NCache 구성하려면 서비스를 추가해야 합니다. NCache 응용 프로그램의 분산 캐시로.

  • 엽니다 Startup.cs 프로젝트의.

  • . ConfigureServices 다음 서비스를 추가하는 메서드입니다. 추가NCacheDistributedCache 확장 메서드가 초기화됩니다. AddNCacheDistributedCache 확장 메서드는 다음에서 구성을 초기화합니다. 앱 설정.json 컨테이너에 서비스를 추가하기 전에 NCache 구현으로 기본 분산 캐시로 IDistributedCache.

public void ConfigureServices(IServiceCollection services)
{
    // Add NCache services to the container
    services.AddNCacheDistributedCache(Configuration.GetSection("NCacheSettings"));
}

방법 2: IOptions에서 구성 지정

구성을 지정하는 또 다른 방법은 구성 설정을 다음과 같이 제공하는 것입니다. IOptions.

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services
    services.AddMvc();

    services.AddNCacheDistributedCache(configuration =>
    {
        configuration.CacheName = "demoCache";
        configuration.EnableLogs = true;
        configuration.ExceptionsEnabled = true;
    });
}

View 클래스에 분산 캐시 태그 도우미 추가

일단 NCache 응답 캐싱을 위한 서비스가 구성되었으므로 이제 캐시할 컨트롤러 뷰의 특정 콘텐츠를 지정할 수 있습니다. ASP.NET Core는 다음과 같은 기능을 제공합니다. 분산 캐시 태그 도우미 매개변수가 포함된 태그를 조회수 구성된 캐시에 표시된 콘텐츠를 캐시합니다.

다음 예는 다음을 추가합니다. <distributed-cache> 내용에 태그 조회수 -> 정보.cshtml 다양한 매개변수를 사용합니다. 애플리케이션을 새로 고치면 콘텐츠, 일반 아이템이 다음에 따라 변경됩니다. DateTime.Now, 태그가 지정된 콘텐츠는 캐시될 때 정적인 상태로 유지됩니다.

  • The expires-after 속성은 콘텐츠의 절대 만료를 지정합니다. 이 항목은 10초가 지나면 캐시에서 제거됩니다. 그러나 애플리케이션을 새로 고치면 항목이 캐시에 다시 로드됩니다.

  • The name 속성은 태그 도우미의 각 인스턴스에 대한 캐시의 고유 식별자입니다.

  • The vary-by 속성은 URL의 쿼리 문자열이 이 태그에 지정된 값과 동일할 때까지 캐시에 항목을 유지합니다.

매개변수에 대한 자세한 내용은 다음을 참조하십시오. 태그 도우미에 대한 Microsoft 설명서 진행하기 전에.

애플리케이션이 실행되면, 다음을 통해 캐시 통계를 모니터링할 수 있습니다. NCache 관리센터/NCache 기업용 모니터링 시스템.

@{
ViewData["Title"] = "About";
}

<h2>@ViewData["Title"]</h2>
<h3>@ViewData["Message"]</h3>

<p> The value for this item will change every time the application is refreshed.</p>
<div>@DateTime.Now.ToString()</div><br />

<p>The value for this item will be static and remain in the cache, unless the cache is cleared.</p>
<distributed-cache name="Key:1" >
    <div>@DateTime.Now.ToString()</div><br />
</distributed-cache>

<p>The value for this item will be static upon refreshing the application, but it will expire after 10 seconds.</p>
<distributed-cache name="Key:2" expires-after ="TimeSpan.FromSeconds(10)">
    <div>@DateTime.Now.ToString()</div><br />
</distributed-cache>

<p>The value for this item will be static and will only be removed from cache if the "vary-by" value is changed.</p>
<distributed-cache name="Key:3" vary-by ="test">
    <div>@DateTime.Now.ToString()</div><br />
</distributed-cache>

추가 자료

NCache 응답 캐싱을 위한 IDistributedCache에 대한 샘플 애플리케이션을 제공합니다. GitHub의.

도 참조

.그물: Alachisoft.NCache.Response캐싱 네임 스페이스.

문의하기

전화

+1 214-619-2601   (미국)

+44 20 7993 8327   (UK)

 
이메일

sales@alachisoft.com

support@alachisoft.com

NCache
  • 판 비교
  • NCache 아키텍처
  • 벤치 마크
다운로드
가격
놀이터를 사용해보십시오

배포
  • 클라우드(SaaS 및 소프트웨어)
  • 온 프레미스
  • Kubernetes
  • 도커
기술 사용 사례
  • ASP.NET 세션
  • ASP.NET 코어 세션
  • 게시/구독 메시징
  • 실시간 ASP.NET SignalR
  • 사물의 인터넷 IOT ()
  • NoSQL 데이터베이스
  • 스트림 처리
  • 마이크로 서비스
리소스
  • 잡지 기사
  • 제XNUMX자 기사
  • 기사
  • 비디오
  • 백서
  • 쇼
  • 회담
  • 블로그
  • 기술 문서
고객 사례 연구
  • 환자 후기
  • 고객
고객 지원
  • 데모 예약
  • 포럼(Google 그룹스)
  • Tips
회사
  • Leadership
  • 파트너
  • ​뉴스
  • 이벤트
  • 채용 정보
문의하기

  • 영어중국어 (간체)프랑스어독일 사람이탈리아 사람일본제한국어포르투갈어스페인어

  • 문의하기
  •  
  • 사이트 맵
  •  
  • 이용 약관
  •  
  • 개인정보 처리방침
© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.
맨 위로