AppFabric 캐싱

AppFabric Caching

AppFabric 캐슁윈도우즈 서버용 메모리 내 분산 캐시 플랫폼을 제공한다.[1] 마이크로소프트는 AppFabric 캐싱을 개발하여 AppFabric의 일부로 출시했다.

건축

AppFabric 캐싱은 캐시 클러스터에 직렬화관리 개체를 저장한다. 캐시 클러스터는 사용 가능한 물리적 메모리를 풀링하는 하나 이상의 시스템으로 구성된다.[2] 이 풀링된 메모리는 캐시 클라이언트에 캐싱 메모리의 단일 소스로 제공된다. 연결된 키 값을 사용하여 객체를 저장하고 액세스한다.

AppFabric Caching 기능은 캐시 클러스터의 각 서버에 설치해야 한다.[3] 설치 후 각 서버를 캐시 클러스터에 결합하는 데 AppFabric 구성 마법사를 사용해야 한다.[4] 캐시 클러스터 구성 설정을 유지하려면 외부 파일 공유 또는 데이터베이스가 필요하다.[5] 캐시용 Windows PowerShell 명령 집합은 캐시 클러스터에서 관리 기능을 제공한다.[6]

코드 예제

이 절의 코드 샘플은 C#에 표시되어 있다는 점에 유의하십시오.

캐시에서 개체를 넣고 검색하고 제거하는 코드를 만드는 것이 일반적인 작업이다. 이러한 작업은 기본 캐시 또는 명명된 캐시를 대상으로 한다.[7]

먼저 정적 DataCache[8] 멤버를 생성하십시오.

공중의 정태의 데이터캐시 _beakes; 

다음으로, 이 캐시에 액세스하는 메서드를 만드십시오. 캐시의 속성은 app.config 또는 web.config 파일에 저장할 수 있다.[9] 캐시 설정은 프로그래밍 방식으로 구성할 수도 있다.[10] 다음 예는 캐시를 프로그래밍 방식으로 구성하는 방법을 보여준다.

공중의 정태의 데이터캐시 겟캐시() {     만일 (_beakes != 무효의)         돌아오다 _beakes;       // 캐시 호스트 1개에 대한 어레이 정의     리스트<DataCacheServerEndpoint> 서버들 = 새로운 리스트<DataCacheServerEndpoint>(1);       // 캐시 호스트 세부 정보 지정     // 매개 변수 1 = 호스트 이름     // 매개 변수 2 = 캐시 포트 번호     서버들.추가하다(새로운 DataCacheServerEndpoint("마이머신", 22233));       // 캐시 구성 생성     DataCacheFactoryConfiguration 배열 = 새로운 DataCacheFactoryConfiguration();             // 캐시 호스트 설정     배열.서버 = 서버들;             // 로컬 캐시의 기본 속성 설정(로컬 캐시 사용 안 함)     배열.LocalCacheProperties = 새로운 DataCacheLocalCacheProperties();       // 웹 페이지의 정보/알 수 없는 메시지를 방지하려면 추적을 비활성화하십시오.     DataCacheClientLogManager.ChangeLog Level(시스템.진단.트레이스 레벨.오프);       // cacheFactory 생성자에 구성 설정 전달     _beakes = 새로운 DataCacheFactory(배열);       // "기본값"이라는 명명된 캐시에 대한 참조 가져오기     _beakes = _beakes.겟캐시("기본값");             돌아오다 _beakes; } 

다음 방법은 캐시 객체를 사용하여 캐시에서 데이터를 검색하는 방법을 보여준다. 이 예에서 사용자 식별자(userid)는 관련 사용자 정보 객체의 키다. 코드는 먼저 userid 키를 사용하여 캐시에서 이 사용자 정보를 가져오려고 시도한다. 이것이 성공하지 못하면, 코드는 데이터베이스 쿼리로 정보를 검색한 다음 반환된 사용자 데이터를 캐시에 저장한다. 다음에 동일한 코드가 실행되면 데이터베이스보다는 캐시에서 사용자 정보가 반환된다. 이는 캐시된 데이터가 만료되거나 제거되지 않은 것으로 가정한다.

dataType GetUserData(끈을 매다 userId)  {     dataType 자료 = 무효의;      // 캐시에서 사용자 데이터 검색 시도:     반대하다 dataObject = _beakes.얻다(userId);      만일 (dataObject != 무효의)         자료 = (dataType)dataObject;     다른     {         // 캐시에 없는 경우, 데이터베이스에서 검색:         자료 = GetUserDataFromDatabase("SELECT * FROM Userid = @userId", userId);          // 향후 요청을 위해 반환된 데이터를 캐시에 저장:         _beakes.추가하다(userId, 자료);     }      돌아오다 자료; } 

다음 방법은 캐시에 이미 있는 데이터를 업데이트하는 방법을 보여준다.

공허하게 하다 UpdateUserData(끈을 매다 userId, dataType 자료)  {     // 데이터베이스의 사용자 정보 업데이트:     결과 = UpdateUserDataInDatabase(userId, 자료);          만일 (결과)      {         // 성공적으로 업데이트되면 캐시를 업데이트하십시오.         _beakes.놓다(userId, 자료);     } } 

다음 호출은 캐시에서 항목을 제거한다.

_beakes.제거하다(userId); 

역사

원래 AppFabric Caching에는 Velocity라는 코드 이름으로 여러 베타 릴리즈가 있었다.[11] 2010년 6월 마이크로소프트AppFabric의 일부로 AppFabric Caching을 정식 출시했다.[12] 자세한 내용은 AppFabric 페이지의 기록 섹션을 참조하십시오.

관련 캐싱 기술

AppFabric 캐싱은 다른 마이크로소프트 캐싱 기술과 관련이 있다. 이러한 기술은 조립품 이름, 네임스페이스 및 유형과 같은 유사한 특징을 공유한다.[13] 하지만, 약간의 차이점이 있다. 아래 표에는 이러한 기술이 설명되어 있다.

캐싱 기술 대상 설치자 설명
AppFabric 캐싱 사내 앱패브릭 사용자가 프로비저닝하고 관리하는 서버를 사용하는 분산형 사내 캐시.
Windows Azure 캐싱 구름 Windows Azure SDK 캐싱은 윈도우즈 Azure 클라우드 서비스 배포에서 단일 역할의 인스턴스 전체에 분산된다.
Windows Azure 공유 캐싱 구름 Windows Azure SDK 캐싱은 Windows Azure 클라우드 서비스에서 사용할 수 있는 멀티테넌트 서비스로 제공된다.

참조

  1. ^ "AppFabric 1.1 Caching Features". MSDN Library. Microsoft. Retrieved 13 February 2013.
  2. ^ "AppFabric Caching Physical Architecture Diagram". MSDN Library. Microsoft. Retrieved 13 February 2013.
  3. ^ "Installing and Configuring AppFabric". MSDN Library. Microsoft. Retrieved 13 February 2013.
  4. ^ "Configure AppFabric". MSDN Library. Microsoft. Retrieved 13 February 2013.
  5. ^ "Cluster Configuration Storage Options". MSDN Library. Microsoft. Retrieved 13 February 2013.
  6. ^ "Using Windows PowerShell to Manage AppFabric 1.1 Caching Features". MSDN Library. Microsoft. Retrieved 13 February 2013.
  7. ^ "AppFabric Caching Logical Architecture Diagram". MSDN Library. Microsoft. Retrieved 13 February 2013.
  8. ^ "DataCache Class". MSDN Library. Microsoft. Retrieved 13 February 2013.
  9. ^ "XML-Based Client Configuration". MSDN Library. Microsoft. Retrieved 13 February 2013.
  10. ^ "Programmatic Client Configuration". MSDN Library. Microsoft. Retrieved 13 February 2013.
  11. ^ "Build Better Data-Driven Apps With Distributed Caching". MSDN Magazine. Microsoft. Retrieved 13 February 2013.
  12. ^ "Microsoft Delivers Release Candidate of Windows Server AppFabric, Beta Release of BizTalk Server 2010". Microsoft News Center. Microsoft. Retrieved 13 February 2013.
  13. ^ "Differences Between Caching On-Premises and in the Cloud". MSDN Library. Microsoft. Retrieved 13 February 2013.

외부 링크