역할 내 캐시 역할 구성 설정(ServiceConfiguration.cscfg)
중요
모든 새 개발에서는 Azure Redis Cache를 사용하는 것이 좋습니다. Azure Cache 제품을 선택하는 방법에 대한 현재 설명서 및 지침 은 나에게 적합한 Azure Cache 제품을 참조하세요.
이 항목에서는 ServiceConfiguration.cscfg 파일에서 사용 가능한 Microsoft Azure 캐시 설정에 대해 설명합니다. 이러한 설정은 대상 역할에 대한 캐싱 구성을 지정합니다. Visual Studio 역할 속성 대화 상자는 캐싱을 사용하도록 설정할 때 이러한 설정을 자동으로 구성합니다. 이 항목의 참조 정보는 캐싱을 활용하려는 비 Visual Studio 클라우드 서비스 배포에 가장 유용합니다.
ServiceConfiguration.cscfg
다음 예제에서는 캐싱이 구성된 기본 ServiceConfiguration.cscfg 파일을 보여 줍니다. 이 예제에는 default
와 NamedCache1
이라는 두 개의 명명된 캐시가 있습니다. 이를 뒤에 나오는 참조 섹션의 예로 사용할 수 있습니다.
<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="WindowsAzure1" xmlns="https://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2012-10.1.8">
<Role name="WebRole1">
<Instances count="2" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.NamedCaches" value="{"caches":[{"name":"default","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":10,"isExpirable":true,"type":1},"serverNotification":{"isEnabled":false}},"secondaries":0},{"name":"NamedCache1","policy":{"eviction":{"type":-1},"expiration":{"defaultTTL":20,"isExpirable":true,"type":2},"serverNotification":{"isEnabled":true}},"secondaries":1}]}" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
</Role>
</ServiceConfiguration>
NamedCaches
Microsoft.WindowsAzure.Plugins.Caching.NamedCaches 설정은 모든 캐시 및 해당 구성 설정을 지정합니다. 이 정보는 JSON 구문을 사용하여 구성합니다. 구문의 큰따옴표는 "
문자 엔터티 참조를 사용하여 이스케이프됩니다. 다음 NamedCaches 값은 위의 ServiceConfiguration.cscfg 파일에서 가져옵니다.
{"caches":[{"name":"default","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":10,"isExpirable":true,"type":1},"serverNotification":{"isEnabled":false}},"secondaries":0},{"name":"NamedCache1","policy":{"eviction":{"type":-1},"expiration":{"defaultTTL":20,"isExpirable":true,"type":2},"serverNotification":{"isEnabled":true}},"secondaries":1}]}
다음 예제에서는 위 예제와 설정이 같지만 출력의 서식이 지정되고 "
기호가 큰따옴표로 바뀐 경우를 보여 줍니다. 이 예제는 구문의 이해를 돕기 위해 제공된 것으로 ServiceConfiguration.cscfg 파일에 사용해서는 안 됩니다.
{
"caches": [
{
"name": "default",
"policy": {
"eviction": {"type": 0},
"expiration": {"defaultTTL": 10, "isExpirable": true, "type": 1},
"serverNotification": {"isEnabled": false}
},
"secondaries": 0
},
{
"name": "NamedCache1",
"policy": {
"eviction": {"type": -1},
"expiration": {"defaultTTL": 20, "isExpirable": true, "type": 2},
"serverNotification": {"isEnabled": true}
},
"secondaries": 1
}
]
}
명명된 모든 캐시는 최상위 캐시 필드 내에 정의 됩니다 . 각 명명된 캐시는 다음 세 필드에 의해 정의됩니다.
캐시 필드 | 설명 |
---|---|
name |
캐시 이름을 지정합니다. |
추가 |
제거, 만료 및 알림 설정에 대한 정책입니다. |
보조 |
고가용성을 위해 유지 관리할 백업 복사본 수를 정의합니다. 현재 이 값은 |
정책 필드는 다음 속성으로 구성됩니다.
정책 필드 | 설명 |
---|---|
제거 |
제거 유형을 지정하는 단일 필드 형식을 포함합니다. 가능한 값은 |
expiration |
만료 정책을 설명하는 세 개의 필드가 있습니다.
중요
형식이 (사용 안 함)으로 |
serverNotification |
이 캐시에 대해 알림을 사용할 수 있는지 여부를 지정하는 단일 필드 isEnabled를 포함합니다. |
ClientDiagnosticLevel
캐싱에 대한 진단 컬렉션의 초기 수준을 지정합니다. 이 설정은 캐시의 클라이언트인 역할에 대한 진단 정보에만 적용되며, 클라이언트 관점에서의 캐시 사용에 대한 진단 정보를 제공합니다. 같은 위치에 배치된 토폴로지에서는 ClientDiagnosticLevel과 DiagnosticLevel을 같은 역할 구성에서 함께 사용할 수 있습니다.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
DiagnosticLevel
캐싱에 대한 진단 컬렉션의 초기 수준을 지정합니다. 이 설정은 캐싱을 호스트하는 역할에 대한 진단 정보와 관련이 있습니다.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />
CacheSizePercentage
캐싱에 사용할 사용 가능한 메모리의 백분율입니다. 같은 위치에 배치된 토폴로지의 경우 백분율 기호가 없는 정수(예: 30
)여야 합니다.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
전용 토폴로지의 경우 빈 문자열이어야 합니다.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="" />
ConfigStoreConnectionString
캐싱에 사용할 Azure Storage 계정입니다. 이 저장소는 캐시 클러스터에 대한 구성 데이터를 유지하는 데 사용되며, 캐시 클러스터를 구성하는 모든 가상 컴퓨터에서 액세스할 수 있습니다. 다음 예제에서는 로컬 디버깅에 개발자 저장소를 사용합니다. 클라우드에 배포하기 전에 이를 실제 저장소 계정으로 변경해야 합니다.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />