Azure 역할 내 캐시의 직렬화
중요
Microsoft는 모든 새 개발에서 Azure Redis Cache를 사용하는 것이 좋습니다. Azure Cache 제품 선택에 대한 현재 설명서 및 지침 은 나에게 적합한 Azure Cache 제품을 참조하세요.
Microsoft Azure Cache는 세 가지 직렬화 모드를 지원합니다. 캐시에 저장된 각 항목을 먼저 영구 스트림으로 직렬화해야 하며, 캐시에서 검색된 각 항목을 다시 해당 개체 형식으로 역직렬화해야 합니다. 이 항목에서는 캐싱에서 사용할 수 있는 serialization 옵션에 대해 설명합니다.
직렬화 유형
다음 표에 세 가지 직렬화 유형에 대한 설명이 나와 있습니다.
구성 설정 | 설명 |
---|---|
NetDataContractSerializer |
NetDataContractSerializer 클래스를 사용하여 개체를 직렬화합니다. 이것이 기본값입니다. |
BinaryFormatter |
BinaryFormatter 클래스를 사용하여 개체를 직렬화합니다. |
CustomSerializer |
응용 프로그램에서 제공하는 사용자 지정 직렬화 클래스를 사용하여 개체를 직렬화합니다. |
serialization 옵션이 지정되지 않은 경우 캐싱은 NetDataContractSerializer를 사용합니다. 캐시에 저장된 모든 클래스는 Serializable로 표시되어야 합니다.
구성 파일에서 serializationProperties 요소를 dataCacheClient 요소의 자식으로 지정할 수 있습니다. 다음 예제에서는 두 개의 명명된 캐시 클라이언트가 있는 dataCacheClients 섹션을 보여 줍니다. 기본 캐시 클라이언트는 기본 직렬화를 사용하고, 보조 캐시 클라이언트는 이진 직렬화를 지정합니다.
<dataCacheClients>
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="WebRole1" />
</dataCacheClient>
<dataCacheClient name="binaryConfig">
<serializationProperties serializer="BinaryFormatter" />
<autoDiscover isEnabled="true" identifier="WebRole1" />
</dataCacheClient>
</dataCacheClients>
다음 예제에서는 코드에서 이러한 각 캐시 클라이언트 구성에 액세스하는 방법을 보여 줍니다.
// "default" cache client configuration, "default" cache:
DataCache cacheTest1 = new DataCache();
cacheTest1.Put("test", "test");
// "binaryConfig" cache client configuration, "default" cache:
DataCache cacheTest2 = new DataCache("default", "binaryConfig");
cacheTest2.Put("test", "test");
사용자 지정 직렬화에는 추가 코딩이 필요합니다. 자세한 내용은 방법: Azure In-Role Cache에서 사용자 지정 직렬 변환기 사용 방법을 참조하세요.
참고
serializationProperties 요소에 해당하는 프로그래밍 방식의 클래스는 DataCacheSerializationProperties 클래스입니다. 이 클래스의 속성은 동일한 세 가지 직렬화 유형에 해당합니다. 이 열거형은 DataCacheFactoryConfiguration.SerializationProperties 속성에 할당됩니다.
중요
캐싱에 대한 ASP.NET 공급자는 이진 또는 사용자 지정 serialization 형식을 지원하지 않습니다.