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 |
압축을 사용하거나 사용하지 않도록 설정합니다. 가능한 값은 |
useConnectionPool |
연결 풀을 사용하거나 사용하지 않도록 설정합니다. 가능한 값은 |
maxConnectionsToServer |
useConnectionPool이 설정된 |
다음 섹션에서는 각 dataCacheClient 요소 내에서 사용 가능한 자식 요소에 대해 설명합니다.
autoDiscover
autoDiscover 요소는 대상 캐시에 자동으로 연결하여 캐시 클라이언트를 지원합니다.
다음 표에서는 autoDiscover 요소에 사용할 수 있는 특성에 대해 설명합니다.
attribute | 설명 |
---|---|
Isenabled |
|
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 |
로컬 캐시를 사용하거나 사용하지 않도록 설정하려면 |
동기화 |
로컬 캐시가 무효화되는 방법을 결정합니다. 가능한 값은 |
objectCount |
로컬 캐시에 저장할 최대 개체 수입니다. 기본값은 10000입니다. |
ttlValue |
개체가 로컬 캐시에 저장되는 시간(초)입니다. 기본값은 300초입니다. |
참고
알림은 표준 및 프리미엄 캐시 기능에서 지원되며 해당 기능 내의 명명된 캐시에서 알림을 사용하도록 구성해야 합니다. 자세한 내용은 Azure Managed Cache Service 대한 알림을 참조하세요.
<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
clientNotification
다음 표에서는 clientNotification 요소에 사용할 수 있는 특성에 대해 설명합니다. 이 요소는 캐시 클라이언트에 대한 알림 동작을 제어합니다.
attribute | Description |
---|---|
pollInterval |
폴링 시도 간격(초)입니다. 폴링은 캐시에서 알림을 확인하는 데 사용됩니다. 기본값은 |
maxQueueLength |
폴링 시도 사이에 이 캐시 클라이언트에 대한 큐에 넣을 최대 알림 수입니다. 기본값은 알림 |
<clientNotification pollInterval="60" maxQueueLength="10000"/>
serializationProperties
다음 표에서는 serializationProperties 요소에 사용할 수 있는 특성에 대해 설명합니다. 이 요소에서는 캐시된 항목에 대한 직렬화 유형을 기본 제공 또는 사용자 지정 중에서 선택할 수 있습니다. 자세한 내용은 Azure Managed Cache Service Serialization을 참조하세요.
attribute | 설명 |
---|---|
직렬 변환기 |
캐시된 항목의 직렬화 유형을 결정합니다. 가능한 값은 |
securityProperties
다음 표에서는 securityProperties 요소에 사용할 수 있는 특성을 설명합니다.
attribute | 설명 |
---|---|
mode |
가능한 값은 |
sslEnabled |
가능한 값은 |
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 |
가능한 값은 |
dumpStorageQuotaInMB |
크래시 덤프 크기의 상한값입니다. |
scheduledTransferPeriodInMinutes |
진단 저장소로 크래시 덤프가 전송되는 간격(분)입니다. |
<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" scheduledTransferPeriodInMinutes="5" />