2011-09-09 1 views
1

나는 비관적 동시성 모델 을 동시에 사용할 수 있는지 알아 내려고하고있다.AppFabric 캐싱을 사용하면 로컬 캐시가 활성화 된 동시성 메서드를 사용할 수 있습니까?

로컬 캐시가 활성화되어 있고 GetAndLock 및 PutAndUnlock과 같은 비관적 동시성 메서드를 사용할 때 잠금/가져 오기/퍼팅이 수행되는 위치는 어디입니까? 캐시 클러스터 또는 로컬 캐시에 있습니까? 그리고 클러스터에서 이런 일이 발생하면 변경 사항을 로컬 캐시와 자동으로 동기화합니까?

답변

1

예, 은 로컬 캐시와 비관적 동시성을 사용합니다. 사실, 동시성을 사용할 수 있습니다. 질문에서 암시 하듯이 모든 동시성 분석이 '마스터'캐시에서 이루어지기 때문입니다. 생각할 수있는 유일한 장소는 로컬 캐시에 항목을 잠근 서버가 두 개 있고 동시에 잠금 해제 된 경우입니다. '마스터'캐시는 하나는 클러스터를 복제하는 '참'항목 이었으므로 모든 비관적 인 잠금/낙관적 버전 관리 검사가 중앙에서 발생해야합니다.

(어느 모델의) 동시성 해결이 이루어지면 로컬 캐시가 다시 동기화되지만 로컬 캐시를 어떻게 구성했는지에 따라 달라집니다. 로컬 캐시 된 항목은 시간 초과되어 마스터에서 새로 고쳐 지거나 마스터가 항목이 업데이트 될 때 로컬 캐시에 알림을 보낼 수 있습니다. this page에 대한 설명과 앱 구성 방법에 대한 세부 정보가 있습니다. 또는 web.config here.

+0

감사합니다. 나는 그것이 사실이라고 의심했지만 어디서나 문서에서 찾을 수 없었다. 따라서 "Get"은 먼저 로컬 캐시를 검사하지만 "GetAndLock"은이를 무시합니다. – brainiac10

+0

@brainiac 예 :-) – PhilPursglove