영업: 1-800-867-1380

Azure 관리 캐시 서비스 알림

업데이트 날짜: 2014년 9월

note참고
응용 프로그램에 대한 올바른 Azure 캐시 제품 선택에 대한 자세한 지침은 내게 적합한 Azure 캐시 기능를 참조하세요.

Microsoft Azure 캐시에서는 명명된 캐시에서 다양한 캐시 작업이 수행될 때 응용 프로그램이 비동기 알림을 받을 수 있도록 캐시 알림을 제공합니다. 캐시 알림은 로컬로 캐시된 개체를 자동으로 무효화할 수 있습니다.

비동기 캐시 알림을 받으려면 응용 프로그램에 캐시 알림 콜백을 추가합니다. 콜백을 추가할 때 캐시 알림을 트리거하는 캐시 작업 유형과 지정된 작업을 수행할 때 호출되는 응용 프로그램의 메서드를 정의합니다. 명명된 캐시는 캐시 알림을 옵트인하고 사용하도록 설정해야 합니다.

note참고
알림은 표준 및 프리미엄 캐시 기능에서 사용할 수 있으며 기본 캐시 기능에서는 사용할 수 없습니다. 자세한 내용은 TechNet의 Azure 관리 캐시 서비스의 캐시 기능.

이러한 캐시 작업은 DataCacheOperations 클래스의 멤버에 의해 정의됩니다.

영역에서 다음 캐시 작업을 수행하면 응용 프로그램이 캐시 알림을 받을 수 있습니다.

캐시된 개체(캐시 내 항목이라고 함)에서 다음 캐시 작업을 수행하면 응용 프로그램이 캐시 알림을 받을 수 있습니다.

  • AddItem: 캐시에 항목을 추가한 경우

  • ReplaceItem: 캐시에서 항목을 대체한 경우

  • RemoveItem: 캐시에서 항목을 제거한 경우

note참고
이러한 항목 작업 자체는 영역 내에서 수행되었는지 여부에 좌우되지 않습니다. 콜백의 알림 범위를 특정 영역으로 제한하도록 선택할 수 있습니다. 이 내용은 이 문서의 알림 범위 섹션에서 설명합니다.

응용 프로그램의 작업과 요구 사항에 따라 전체 캐시에 있는 모든 개체와 영역의 이벤트를 확인할 필요가 없을 수 있습니다. 캐시 수준에서 영역 수준 및 항목 수준에 이르기까지 알림 범위를 좁힐 수 있습니다. 콜백을 추가할 때 선택한 알림 범위는 수신할 캐시 알림에 상당한 영향을 미칩니다.

캐시 수준에서는 응용 프로그램이 캐시에 있는 모든 개체와 영역의 모든 캐시 작업에 대해 알림을 받을 수 있습니다. 영역 수준에서는 응용 프로그램이 단일 영역과 이 영역에 있는 개체의 캐시 작업에 대해서만 알림을 받습니다. 항목 수준에서는 응용 프로그램이 단일 개체와 관련된 캐시 작업에 대해서만 알림을 받습니다.

원하는 알림 범위를 지정하려면 이러한 메서드 중 하나를 선택하여 캐시 알림 콜백을 추가합니다.

  • AddCacheLevelCallback: 모든 영역과 항목에서 발생하는 영역 및 항목 기반의 캐시 작업에 대해 알림을 받으려는 경우

  • AddRegionLevelCallback: 하나의 특정 영역에서 발생하는 영역 및 항목 기반의 캐시 작업에 대해 알림을 받으려는 경우

  • AddItemLevelCallback: 하나의 특정 항목에서 수행하는 항목 기반의 캐시 작업에 대해 알림을 받으려는 경우

캐시 클라이언트가 받는 알림 순서는 단일 영역의 컨텍스트 내에서 보장됩니다. 예를 들어 RegionA라는 영역을 만들었다고 가정해 보겠습니다. 캐시 영역에 있는 모든 데이터는 동일한 영역에 제한되므로 RegionA(영역 수준 알림 범위)와 관련된 모든 캐시 작업은 서로를 기준으로 하여 적절한 순서로 캐시 클라이언트에 도착합니다. 다른 캐시 호스트에서 수행한 영역 및 항목 기반 캐시 작업은 RegionA에서 발생한 작업을 기준으로 적절한 순서대로 도착하지 않을 수 있습니다.

성능을 위해 둘 이상의 영역 또는 동일한 영역에 저장되지 않은 개체와 관련된 알림 순서는 보장할 수 없습니다.

항목 이벤트에 대한 DataCacheItemVersion 개체 형식의 버전 정보는 version 매개 변수를 사용하여 캐시 알림에서 호출한 메서드로 전달됩니다. 이 DataCacheItemVersion 개체는 항목 이벤트를 트리거한 개체의 버전에 해당합니다. CompareTo 메서드를 사용하면 버전을 비교하여 먼저 도착한 캐시 작업을 확인할 수 있습니다.

note참고
버전 비교는 동일한 키로 지정된 동일한 항목의 버전을 비교하는 경우에만 의미가 있습니다. 다른 키의 버전을 비교해 순서를 유추할 수는 없습니다. CompareTo 메서드에서 결과를 반환할 수는 있지만, 이 결과는 동일한 키의 버전에만 유효합니다.

캐시 알림을 사용하면 응용 프로그램은 일정한 간격으로 캐시를 검사하여 새 알림을 사용할 수 있는지 확인합니다. 이 간격을 폴링 간격이라고 하며, 기본적으로 매 300초로 설정되어 있습니다. 쓰기 작업을 자주 수행하는 응용 프로그램은 값을 더 작게 설정하려고 할 수 있지만 자주 변경하지 않는 캐시의 경우 더 큰 간격 값을 지정하는 것이 나을 수 있습니다. 대부분의 일반 캐시에는 기본값인 300초가 적합합니다.

폴링 간격은 응용 프로그램 구성 설정에서 초 단위로 지정됩니다. 특정 간격을 지정하려면 응용 프로그램 구성 파일에서 clientNotifications 요소의 pollInterval 특성을 사용할 수 있습니다. DataCacheFactoryConfiguration 개체의 NotificationProperties 속성을 사용하여 프로그래밍 방식으로 특정 폴링 간격을 지정할 수도 있습니다.

Microsoft Azure 캐시는 일정한 양의 캐시 작업만 메모리에 포함할 수 있습니다. 일부 캐시 클라이언트는 알림 큐에서 알림이 잘리기 전에 알림을 받지 못할 수 있습니다. 캐시 오류로 인해 데이터가 손실되는 경우 캐시 클라이언트에서 알림이 손실될 수 있습니다. 이 경우 캐시 클라이언트는 오류 알림을 사용하여 일부 캐시 알림이 누락된 것을 검색할 수 있습니다. 응용 프로그램은 AddFailureNotificationCallback 메서드를 사용하여 오류 알림을 받을 콜백을 추가할 수 있습니다. 자세한 내용은 How to: Add a Failure Notification Callback을 참조하십시오.

알림 손실과 캐시 손실 간에는 중요한 차이점이 있습니다. 응용 프로그램에서 하나 이상의 알림이 손실되는 경우 오류 알림을 통해 해당 손실을 알 수 있습니다. 전체 캐시가 삭제된 경우 캐시 클라이언트가 다음에 캐시를 사용하려고 할 때 캐시 끝점에 연결할 수 없으므로 예외를 발생시킵니다. 명명된 캐시 생성 또는 삭제와 같은 캐시 이벤트는 알림으로 보고되지 않습니다. 알림을 등록한 후 명명된 캐시가 삭제되면 알림이 더 이상 수신되지 않습니다. 명명된 캐시가 존재하지 않는 경우와 작업이 명명된 캐시에서 수행되지 않는 경우를 구분할 수는 없습니다.

note참고
캐시 알림은 데이터와 관련된 변경 사항만 캐시 항목 및 영역에 보고하고 캐시 자체의 이벤트는 보고하지 않습니다.

알림은 관리 포털에 있는 캐시 구성 탭의 명명된 캐시 수준에서 구성됩니다. 알림에 대한 기본 설정은 사용 안 함입니다.

Windows Azure 캐시 서비스의 캐시 알림

캐시 알림을 받을 콜백을 추가하기 위해 응용 프로그램 구성 설정이 필요하지는 않습니다. 응용 프로그램 구성 설정을 사용하여 특정 폴링 간격을 지정할 수 있습니다. 기본적으로 폴링 간격은 300초입니다. 다른 기간을 지정하려는 경우 XML 기반 응용 프로그램 구성 파일의 clientNotification 요소를 사용하거나 DataCacheFactoryConfiguration 개체의 NotificationsProperties 속성을 사용하여 프로그래밍 방식으로 원하는 간격을 지정합니다.

캐시 알림을 사용하도록 설정한 후 캐시 알림을 사용하는 일과 관련된 작업이 세 가지 있습니다. 즉, 캐시 알림 콜백을 추가하고 오류 알림 콜백을 추가하며 캐시 알림 콜백 제거하는 작업입니다. 이러한 각 작업의 절차는 이 문서 나머지 부분에 설명되어 있습니다.

참고 항목

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
표시:
© 2014 Microsoft