2012-11-01 2 views
1

CacheDependency 클래스를 사용하여 ASP.Net의 HttpRuntime 캐시를 사용하여 수행 할 수있는 것과 비슷한 AppFabric 또는 다른 분산 캐시 시스템에서 '캐시 종속성'을 가질 수 있습니까?분산 캐싱 (AppFabric) 및 캐시 종속성

이 범위는 캐시의 '키'에 연결된 UserControl입니다. 캐시 항목이 변경되면 사용자 정의 컨트롤이 무효화되고 다시로드됩니다. 이것이 가능한가?

+0

는 가능은 중복처럼 보이지만 http://stackoverflow.com/questions/9298233/sqlcachedependency-and-appfabric-server – Cybermaxs

+0

@Cybermaxs 중복 선택 대답은 실제로 약간 오도하는 것입니다. 이 질문을 게시 한 시점부터 주제에 대해 많은 연구를했으며이 기술에 최근 추가 된 AppFabric Cache 알림 콜백을 통한 해결책이 있습니다. 다른 사용자의 향후 참조를 위해 여기에 답변을 게시하겠습니다. –

답변

1

일부 연구 및 테스트 후 - AppFabric은 위와 유사한 내용을 지원하며 '캐시 알림 콜백'이라고합니다. 기본적으로 캐시의 항목/영역에 연결할 수 있으며 캐시가 변경되면 시스템에서 이벤트를 발생시킵니다.

그러나 이러한 알림은 즉시 발생하지 않으며 '폴링'메커니즘을 사용합니다. 이것은 처음에는 시스템이 작동하지 않는다고 생각했기 때문에 명심해야 할 것입니다. 기본 폴링은 300 초 (5 분)이므로 알림을 얻으려면 시간이 걸릴 수 있습니다. 이것은 다른 간격으로, 특히 테스트를 위해 변경할 수 있습니다.

나는 이것을 시험해보고 작동을 확인할 수있다. 구현하는 방법에 대한 자세한 사항은 MSDN 링크를 찾을 수 있습니다 http://msdn.microsoft.com/en-us/library/ee808091(v=azure.10).aspx

+1

그러나 appfabric 캐시 알림 콜백은 CacheDependency 클래스를 사용하는 Asp.net Http 런타임 캐시와 다릅니다. 캐시 종속성을 사용하면 캐시 된 항목의 종속성을 나열 할 수 있으며 이러한 종속성 중 하나가 만료되면 캐시 된 항목도 만료되지만 appfabric 콜백 알림의 경우는 그렇지 않습니다. appfabric에서는 캐시 된 항목에 대해서만 알림을 받고 목록 종속성에 대한 즉시 사용 가능한 지원은 없습니다. –