컴팩트 직렬화를 사용하는 방법

컴팩트한 직렬화가 왜 필요한가요?

성능 향상을 위해 직렬화된 개체의 압축된 형태를 생성하는 과정으로 네트워크 이동 속도가 빨라집니다. 이름에서 알 수 있듯이 컴팩트한 직렬화 파일은 데이터와 프로세스의 형태가 컴팩트합니다. 간결한 직렬화의 기본 개념은 모든 '알려진 유형'(알려진 유형은 프레임워크에 등록된 유형임)이 프레임워크에 의해 고유한 2바이트 유형 핸들을 할당받아 디시리얼라이저가 '알려진 유형'을 고유하게 식별할 수 있도록 한다는 것입니다. .

예를 들어 프레임워크가 System.Int0에 핸들 32을 할당한다고 가정합니다. 그런 다음 직렬 변환기는 2바이트 핸들과 4바이트 개체 값을 스트림에 씁니다. Deserializer는 핸들을 읽고 개체 유형을 파악한 다음 해당 값으로 개체를 만들고 채웁니다. 반면 네이티브 직렬화는 객체 데이터로 완전한 유형 정보를 작성합니다. NCache 다음과 같은 방식으로 자연 살균의 이러한 문제를 정교하게 극복합니다.

  • 여기서 직렬화된 개체에는 완전한 유형 정보 및 어셈블리가 포함되어 있지 않습니다. 개체 값과 고유한 2바이트 핸들만 포함합니다. 이 고유한 2바이트 핸들은 개체를 역직렬화하는 동안 형식 세부 정보를 고유하게 식별하기 위한 참조로 사용됩니다. 이런 식으로 개체의 크기가 줄어듭니다.
  • 컴팩트한 직렬화는 반사를 방지하여 오버헤드도 줄입니다.
  • 위의 두 가지 기능은 IO 작업을 줄입니다.
  • 개체 크기가 줄어들면 자동으로 네트워크 이동 속도가 빨라지고 결과적으로 비용이 감소합니다.
  • 작은 개체 크기와 빠른 네트워크 트래픽으로 애플리케이션 성능 향상

압축 직렬화를 사용하려면 압축 직렬화 가능 유형에서 기본 공용 생성자(매개변수 없음)를 정의하고 해당 유형을 등록해야 합니다. NCache 매니저. NCache 이제 사용자 정의 일반 유형을 지원합니다. 임의 개수의 인수가 있는 모든 제네릭 형식은 압축 직렬화를 통해 직렬화할 수 있습니다. 클라이언트가 UI를 통해 일반 유형 및 해당 매개변수를 추가하지 않으려는 경우 IGenericTypes 클래스를 통해 추가할 수 있습니다.

컴팩트 직렬화를 사용하는 방법은 무엇입니까?

Compact Serializable 유형을 사용하려면 NCache 캐시 구성 NCache Manager를 선택한 다음 소형 직렬화 가능 유형을 다음으로 등록하십시오. NCache.

1단계: 컴팩트 직렬화 가능 유형 등록:

를 통해 유형을 하나씩 등록할 수 있습니다. '유형 추가' 단추. 구성된 캐시에 유형을 등록하려면 다음 단계를 수행하십시오.

  • 실행 중인 경우 캐시를 중지합니다.
  • 온 클릭 '컴팩트 직렬화' 다음 화면이 열리는 탭.
컴팩트 직렬화 가능 유형 등록
  • '유형 추가' 단추. ㅏ '컴팩트 클래스 선택' 대화 상자가 나타납니다.
  • 압축 유형을 포함하는 조립품 파일을 찾으려면 다음을 클릭하십시오. '검색' 그림과 같이 버튼을 누릅니다.
  • 로드된 클래스 목록에서 캐시에 등록할 클래스를 선택합니다.
  • PR 기사 '클래스 추가' 버튼을 눌러 선택한 수업 목록에 수업을 추가합니다.
  • '확인' 버튼을 클릭합니다.
직렬화의 압축 클래스
  • 새로 추가된 유형이 아래의 목록 상자에 나타나기 시작합니다. '컴팩트 직렬화' Compact Type 및 Platform 정보가 있는 탭입니다.
  • '제거하다' 버튼을 누르면 등록된 유형 목록에서 선택한 유형이 삭제됩니다.
컴팩트 직렬화를 사용하는 방법
  • 여기에는 추가된 모든 유형이 표시됩니다. 이제 특정 유형을 선택한 다음 '추가하다 ' 버튼을 클릭합니다.

2단계: 제네릭 형식 처리기를 통해 일반 압축 형식 등록

이것은 "Generic Type Handler"를 통해 일반 압축 유형을 등록하는 다른 방법입니다. Generic Type Handler를 사용하면 인터페이스를 구현하여 한 번에 모든 Generic 유형을 추가할 수 있습니다. 이렇게 하면 시간과 노력이 절약됩니다. 이에 대한 샘플 코드는 다음과 같습니다.

public class CustomGenericType <T,K,V>         {           }

public class SetGenerics: IGenericTypeProvider
	{ 
	Type[] types = new Type[6]; 
        
	#region IGenericTypeProvider  Members 
	Type[] IGenericTypeProvider.GetGenericTypes()
		{ 
		  types[0]=typeof(Dictionary<string, Customer>);
		  types[1]=typeof(List<int>);  
		  types[2]=typeof(CustomGenericType<Employee, Product, Customer>);
		  types[3]=typeof(CustomGenericType<Employee, Product, int>); 
		  types[4]=typeof(CustomGenericType<Employee, string, byte>);
		  types[5]=typeof(CustomGenericType<string, Customer, bool>);
		  return types;
		}
	#endregion
	}

유형을 등록하려면 다음 단계를 따르십시오.

  • '제네릭 형식 처리기' 단추. ㅏ '컴팩트 클래스 선택' 대화 상자가 나타납니다.
  • 다음을 클릭하여 이 인터페이스를 구현하고 압축 유형을 포함하는 어셈블리 파일을 찾습니다. '검색' 그림과 같이 버튼을 누릅니다.
일반 압축 유형 등록
  • '좋아요' 단추. 추가된 모든 유형이 아래와 같이 나열됩니다.
컴팩트 직렬화 프레임워크

다음에 무엇을할지?

© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.