Azure 관리 캐시 서비스의 영역 및 태깅

중요

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

Microsoft Azure Cache는 사용자 정의 지역의 생성 및 사용을 지원합니다. 영역은 캐시된 항목의 하위 그룹입니다. 또한 영역은 태그라는 추가 설명 문자열로 캐시된 항목에 대한 주석을 지원합니다. 지역은 해당 지역에서 태그가 지정된 항목에 검색 작업을 수행하는 기능을 지원합니다.

영역 고려 사항

지역은 선택 사항입니다. 사용하려면 CreateRegion 메서드를 사용하여 코드에서 명시적으로 만듭니다. 영역이 만들어지면 영역에 삽입된 개체에 태그를 추가할 수 있습니다. 지역 이름을 허용하는 Add and Put 메서드에 오버로드가 있습니다. 지정된 태그가 있는 개체에 대한 지역을 검색하려면 GetObjectsByTag, GetObjectsByAnyTagGetObjectsByAllTags 메서드를 사용합니다.

Managed Cache Service 캐시의 메모리는 서비스의 여러 영역에 분산됩니다. 검색 기능의 아키텍처 요구 사항 때문에 영역의 개체는 캐시 서비스의 단일 메모리 영역에 있습니다. 고가용성을 사용하도록 설정하면 영역의 백업이 캐시 서비스의 다른 메모리 영역에 존재합니다. 이 동작은 영역이 사용되지 않는 시나리오와 다릅니다. 이 시나리오에서는 캐시의 새 항목이 캐시 서비스의 모든 메모리 영역 전체로 분산됩니다.

경고

영역의 모든 항목이 캐시 서비스의 동일한 메모리 영역에 있어야 하므로 남아 있는 메모리가 충분한 경우에도 캐시에서 항목을 제거할 수 있습니다. 좀 더 작은 여러 영역을 사용하면 영역 및 태깅의 이점도 얻을 수 있습니다.

다음 예제에서는 Test라는 영역을 만드는 방법을 보여 줍니다.

DataCache cache = new DataCache("default");
cache.CreateRegion("Test");

다음 예제에서는 태그를 사용하여 Test 영역에 개체 세 개를 추가하는 방법을 보여 줍니다.

List<DataCacheTag> tagList1 = new List<DataCacheTag>()
{ 
    new DataCacheTag("Tag1"),
    new DataCacheTag("Tag2")
};
List<DataCacheTag> tagList2 = new List<DataCacheTag>()
{
    new DataCacheTag("Tag3")
};
cache.Put("Key1", "Value1", tagList1, "Test");
cache.Put("Key2", "Value2", tagList1, "Test");
cache.Put("Key3", "Value3", tagList2, "Test");

다음 예제에서는 Test 태그가 있는 모든 개체의 Tag1 영역을 검색하는 방법을 보여 줍니다.

foreach (KeyValuePair<string, object> result in 
    cache.GetObjectsByTag(new DataCacheTag("Tag1"), "Test"))
{
    string keyValue = result.Key;
    string objectValue = result.Value.ToString();
}

참고 항목

기타 리소스

Azure 관리 캐시 서비스 기능