다음을 통해 공유


Azure 관리 캐시 서비스의 캐시 클라이언트 구성 설정

중요

Microsoft는 모든 새 개발에서 Azure Redis Cache를 사용하는 것이 좋습니다. Azure Cache 제품 선택에 대한 현재 설명서 및 지침 은 나에게 적합한 Azure Cache 제품을 참조하세요.

이 항목에서는 .NET Framework web.config 또는 app.config 구성 파일에서 Managed Cache Service 지원하기 위한 요구 사항에 대해 설명합니다. 또한 캐시 클라이언트에 대한 사용 가능한 구성 옵션도 설명합니다.

Managed Cache Service NuGet 패키지를 사용하면 패키지가 구성 파일을 자동으로 수정합니다. 그러나 이 항목을 사용하여 삽입할 NuGet 캐시 클라이언트 설정을 추가로 사용자 지정할 수 있습니다. 캐싱 NuGet 패키지에 대한 자세한 내용은 캐싱 NuGet 패키지를 사용하여 캐시 클라이언트 구성을 참조하세요.

이 항목에서 다루는 섹션은 다음과 같습니다.

  • <configSections>

    • <dataCacheClients>

      • <dataCacheClient>

        • <Autodiscover>

        • <localCache>

        • <clientNotification>

        • <serializationProperties>

        • <securityProperties>

      • <cacheDiagnostics>

        • <crashDump>

캐시 클라이언트 구성 예제

다음 예제에서는 Managed Cache Service 관련된 web.config 또는 app.config 파일의 섹션을 보여줍니다. 이 예제에서는 default 캐시 클라이언트가 mycache.cache.windows.net에서 호스팅되는 캐시에 액세스하며, 로컬 캐시가 사용됩니다.

<configuration>
  <configSections>
    <section name="dataCacheClients"
             type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, 
                   Microsoft.ApplicationServer.Caching.Core" 
             allowLocation="true" 
             allowDefinition="Everywhere" />
    
    <section name="cacheDiagnostics" 
             type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, 
                   Microsoft.ApplicationServer.Caching.AzureCommon" 
             allowLocation="true" 
             allowDefinition="Everywhere" />
  </configSections>
  <dataCacheClients>
    <dataCacheClient name="default">
      <!--To use the in-role flavor of Azure Caching, 
          set identifier to be the cache cluster role name -->
      <!--To use the Azure Caching Service, 
          set identifier to be the endpoint of the cache cluster -->
      <autoDiscover isEnabled="true" identifier="mycache.cache.windows.net" />
      <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
      <!--Use this section to specify security settings for connecting to your cache. 
          This section is not required if your cache is hosted on a role that is a part 
          of your cloud service. -->
      <securityProperties mode="Message" sslEnabled="false">
        <messageSecurity authorizationInfo="MyAuthorizationKey" />
      </securityProperties>
    </dataCacheClient>
  </dataCacheClients>
    <cacheDiagnostics>
    <crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
  </cacheDiagnostics>
</configuration>

configSections

다음 두 개의 명명된 섹션 요소를 configSections 요소의 섹션 목록에 추가해야 합니다.

Name Description

dataCacheClients

구성 파일의 dataCacheClients 요소를 정의합니다. 이 섹션에서는 모든 캐시 클라이언트 구성에 대한 설정을 지정합니다.

cacheDiagnostics

구성 파일의 cacheDiagnostics 요소를 정의합니다. 이 섹션에서는 Managed Cache Service 관련 진단을 구성합니다.

다음 예제에서는 이러한 섹션을 정의하는 방법을 보여 줍니다.

<section name="dataCacheClients"
          type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, 
                Microsoft.ApplicationServer.Caching.Core" 
          allowLocation="true" 
          allowDefinition="Everywhere" />
    
<section name="cacheDiagnostics" 
          type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, 
                Microsoft.ApplicationServer.Caching.AzureCommon" 
          allowLocation="true" 
          allowDefinition="Everywhere" />

dataCacheClients

dataCacheClients 요소에는 하나 이상의 명명된 dataCacheClient 요소가 포함됩니다. dataCacheClients 요소에는 특성이 없습니다. 여러 캐시 클라이언트 구성 섹션을 지정할 수 있으므로 응용 프로그램에서 여러 종류의 캐시된 데이터와 함께 다양한 설정을 사용할 수 있습니다.

dataCacheClient

dataCacheClients 요소에는 하나 이상의 명명된 dataCacheClient 요소가 포함됩니다. 애플리케이션 코드는 연결된 dataCacheClient 섹션의 이름을 참조하여 캐시 클라이언트에 대한 설정을 로드합니다.

dataCacheClients 요소에는 특성이 없습니다. 그러나 자식 dataCacheClient 요소에는 몇 가지 사용 가능한 특성이 있습니다. 다음 표에서는 이러한 특성에 대해 설명합니다.

attribute 설명

이름

캐시 클라이언트 구성의 이름입니다.

isCompressionEnabled

압축을 사용하거나 사용하지 않도록 설정합니다. 가능한 값은 true 또는 false입니다. 기본값은 false(사용 안 함)입니다.

useConnectionPool

연결 풀을 사용하거나 사용하지 않도록 설정합니다. 가능한 값은 true 또는 false입니다. 기본값은 true(사용)입니다.

maxConnectionsToServer

useConnectionPool이 설정된 true경우 이 특성은 이 캐시 클라이언트 구성에 대한 연결 풀의 연결 수를 지정합니다. useConnectionPool이 설정false되면 이 특성은 코드의 각 DataCacheFactory 개체에 사용할 연결 수를 지정합니다.

다음 섹션에서는 각 dataCacheClient 요소 내에서 사용 가능한 자식 요소에 대해 설명합니다.

autoDiscover

autoDiscover 요소는 대상 캐시에 자동으로 연결하여 캐시 클라이언트를 지원합니다.

다음 표에서는 autoDiscover 요소에 사용할 수 있는 특성에 대해 설명합니다.

attribute 설명

Isenabled

truefalse Managed Cache Service 호스트하는 역할에 대한 로컬 자동 연결을 사용하거나 사용하지 않도록 설정합니다.

identifier

Managed Cache Service 경우 캐시 엔드포인트의 이름입니다.

In-Role Cache의 경우 In-Role Cache를 호스트하는 동일한 클라우드 서비스 배포에서 역할의 이름입니다.

<autoDiscover isEnabled="true" identifier="mycache.cache.windows.net" />

localCache

localCache 요소는 로컬 캐시의 사용을 제어합니다. 기본적으로 로컬 캐시는 사용되지 않습니다. 사용하도록 설정하면 캐시에서 검색된 항목이 클라이언트 컴퓨터의 메모리에 로컬로 저장됩니다. 이 경우 이후의 get 요청 성능이 향상되지만 로컬로 캐시된 버전과 캐시에 있는 실제 항목 간에 데이터 불일치가 발생할 수 있습니다. 자세한 내용은 Azure Managed Cache Service 대한 로컬 캐시를 참조하세요.

다음 표에서는 localCache 요소에 사용할 수 있는 특성에 대해 설명합니다.

attribute Description

Isenabled

로컬 캐시를 사용하거나 사용하지 않도록 설정하려면 true 또는 false로 설정합니다.

동기화

로컬 캐시가 무효화되는 방법을 결정합니다. 가능한 값은 TimeoutBasedNotificationBased입니다.

objectCount

로컬 캐시에 저장할 최대 개체 수입니다. 기본값은 10000입니다.

ttlValue

개체가 로컬 캐시에 저장되는 시간(초)입니다. 기본값은 300초입니다.

참고

알림은 표준 및 프리미엄 캐시 기능에서 지원되며 해당 기능 내의 명명된 캐시에서 알림을 사용하도록 구성해야 합니다. 자세한 내용은 Azure Managed Cache Service 대한 알림을 참조하세요.

<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />

clientNotification

다음 표에서는 clientNotification 요소에 사용할 수 있는 특성에 대해 설명합니다. 이 요소는 캐시 클라이언트에 대한 알림 동작을 제어합니다.

attribute Description

pollInterval

폴링 시도 간격(초)입니다. 폴링은 캐시에서 알림을 확인하는 데 사용됩니다. 기본값은 300초입니다.

maxQueueLength

폴링 시도 사이에 이 캐시 클라이언트에 대한 큐에 넣을 최대 알림 수입니다. 기본값은 알림 10000개입니다.

<clientNotification pollInterval="60" maxQueueLength="10000"/>

serializationProperties

다음 표에서는 serializationProperties 요소에 사용할 수 있는 특성에 대해 설명합니다. 이 요소에서는 캐시된 항목에 대한 직렬화 유형을 기본 제공 또는 사용자 지정 중에서 선택할 수 있습니다. 자세한 내용은 Azure Managed Cache Service Serialization을 참조하세요.

attribute 설명

직렬 변환기

캐시된 항목의 직렬화 유형을 결정합니다. 가능한 값은 NetDataContractSerializer, BinaryFormatterCustomSerializer입니다. 기본값은 NetDataContractSerializer입니다.

securityProperties

다음 표에서는 securityProperties 요소에 사용할 수 있는 특성을 설명합니다.

attribute 설명

mode

가능한 값은 None, TransportMessage입니다. Managed Cache Service 경우에만 Message 지원됩니다. 다른 두 설정은 Microsoft Windows Server용 AppFabric 1.1 관련되어 있습니다.

sslEnabled

가능한 값은 truefalse입니다. 이 설정은 캐시와 캐시 클라이언트 간의 통신이 암호화되는지 여부를 결정하는 데 사용됩니다. 기본값은 false입니다. 자세한 내용은 캐시 클라이언트와 캐시 간의 통신 보안을 참조하세요.

securityProperties 요소에는 자식 요소인 messageSecurity가 있습니다. 다음 표에서는 messageSecurity 요소에 사용할 수 있는 특성에 대해 설명합니다.

attribute 설명

authorizationInfo

의 캐시 대시보드에서 검색할 수 있는 캐시의 액세스 키입니다. 이 키가 올바르게 구성되지 않은 경우 캐시 클라이언트에서 캐시와의 통신을 설정할 수 없습니다.

<securityProperties mode="Message" sslEnabled="false">
  <messageSecurity authorizationInfo="iz8zOmJ0dJBzzzzxa8JxdGJkb281bzxudGF0az9udGxzdGluZi111z8oZS5Ji28lP38jb250Pm9sLmludDMud2luZG93Pi1pb8Qubmx0L1dSQxB2MP45LiZxd25lPii0eDJJZQA5SlZQQUQ2xzIizk8iazlES1P08X8zOFIxZjdzZxp0i3lFQ2FFPSZodJRzOi8xS8JxdGJEb281bzxudGF0az9uxGxzdGluZi5jiz8oZS5pb8QzL8dpbmRxd3MQaz50Lm5ldA==" />
</securityProperties>

cacheDiagnostics

이 섹션에서는 Managed Cache Service 대한 일부 진단 설정을 구성합니다.

경고

Managed Cache Service 릴리스에서 이 항목에 설명된 cacheDiagnostics 및 관련 섹션은 역할 기반 클라우드 서비스 캐시 클라이언트에만 적용됩니다. 캐시 클라이언트가 클라우드 서비스가 아닌 경우 캐시 NuGet 패키지에서 이러한 섹션이 추가되지 않습니다. 자세한 내용은 Azure Managed Cache Service ClientDiagnosticLevel 정보를 참조하세요.

다음 섹션에서는 각 cacheDiagnostics 요소 내에서 사용 가능한 자식 요소에 대해 설명합니다.

crashDump

crashDump 요소는 이 애플리케이션에 대해 수집된 크래시 덤프의 유형을 제어합니다. Managed Cache Service 크래시 덤프는 주로 캐시 머신의 문제를 진단하도록 설계되었습니다. 따라서 클라이언트 구성 파일에서 크래시 덤프 생성을 해제해야 합니다. 이 작업은 dumpLevel 특성을 Off.로 설정하여 수행할 수 있습니다.

크래시 덤프가 사용하도록 설정되면 캐싱 로컬 저장소와 진단 저장소를 ServiceDefinition.csdef에서 조정하여 그 크기가 CacheSettings.xml에 구성되어 있는 크래시 저장소 할당량과 로그 저장소 할당량의 합계보다 항상 커야 합니다(기본값은 1000MB).

다음 표에서는 crashDump 요소에 사용할 수 있는 특성을 설명합니다.

attribute Description

dumpLevel

가능한 값은 Off, MiniFull입니다.

dumpStorageQuotaInMB

크래시 덤프 크기의 상한값입니다.

scheduledTransferPeriodInMinutes

진단 저장소로 크래시 덤프가 전송되는 간격(분)입니다.

<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" scheduledTransferPeriodInMinutes="5" />