Share via


Azure In-Role Cache 개발

중요

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

Microsoft Azure Cache는 캐시에서 항목을 추가, 업데이트 및 제거하는 API 집합을 제공합니다. Microsoft.ApplicationServer.Caching 네임스페이스에서 클래스 및 메서드를 사용하는 것은 Azure 캐시와 직접 상호 작용하는 방법입니다. 반면, ASP.NET 공급자 중 하나를 사용하는 것은 Azure 캐시를 간접적으로 사용하는 방법입니다. 이 섹션의 항목에서는 직접 프로그래밍 방식으로 캐싱을 사용하는 것에 대해 설명합니다. 캐싱을 위한 ASP.NET 공급자에 대한 자세한 내용은 ASP.NET 4 Cache Providers for Azure In-Role Cache를 참조하세요.

프로그래밍 모델

캐싱 프로그래밍 모델은 캐시 배제 프로그래밍 패턴을 위해 설계되었습니다. 캐시에 데이터가 없는 경우 분산 캐시가 아니라 응용 프로그램이 원래 데이터 원본에서 캐시로 데이터를 다시 로드해야 합니다.

캐시 배제 프로그래밍 시 고려 사항

캐시와 별도로 작동할 수 있도록 응용 프로그램 코드를 디자인하여 캐시된 데이터를 사용할 수 없는 경우에도 응용 프로그램이 계속 작동합니다. 캐시의 데이터는 영구적으로 지속되지 않으므로 캐시의 데이터를 사용하지 못할 수 있습니다. 예를 들어 데이터를 포함하는 서버가 다시 시작되면 메모리에서 캐시된 항목이 손실됩니다. 캐시에 존재하지 않는 항목을 요청하는 것을 캐시 누락이라고 합니다.

In-Role 캐시 고가용성 기능을 사용하는 경우 캐시된 항목의 백업 복사본은 머신을 방지하고 실행 중인 캐시 클러스터에서 오류를 처리하는 데 도움이 됩니다. 그러나 모든 시스템을 다시 시작하면 고가용성 기능으로도 지속성을 얻을 수 없습니다. 지속성이 필요한 항목은 데이터베이스나 기타 영구 저장 기술을 사용해야 합니다. 그런 다음 캐싱에서 성능 및 확장성을 향상시키기 위한 메커니즘을 제공합니다.

코드에 캐시 누락이 발생할 수 있는 다른 여러 가지 이유가 있습니다. 예를 들어 캐시 항목이 만료되었거나 정상적인 만료 및 제거 정책에 따라 제거되었을 수 있습니다. 이유를 막론하고 응용 프로그램 코드는 원래 데이터 소스에 액세스하여 캐시의 항목을 다시 채울 수 있어야 합니다.

섹션 내용

참고 항목

개념

Azure In-Role Cache 사용