2012-11-21 3 views
0

나는 ehcache로 테라코타 분산 캐시를 평가하려고합니다. 다음과 같은 쿼리가 있습니다. TAS 분산 캐시를 사용할 20 개 이상의 앱이 있습니다. 이해할 수 있듯이 이러한 각 앱에는 L1 캐시가 있고 클러스터에는 L2 캐시가 있습니다. 클러스터 캐시 데이터는 우리가 액세스 할 수없는 다른 응용 프로그램에 의해 업데이트 될 데이터베이스와 마주하고 있습니다. 그래서 우리는이 DB에서만 읽습니다. 그러나 DB 업데이트는 캐시로 이동해야합니다.메시징에 의한 테라코타 L2 캐시 무효화

DB 트리거의 방식으로 업데이트 된 키만이 임시 테이블에 저장됩니다. 특정 간격으로 작업이이 테이블을 모니터하고 만료되어야하는 캐시의 키를 수집합니다. 이 작업은 별도의 배치 작업입니다.

여기에서 도움이 필요합니다. TAS L2 캐시에 이러한 키의 만료/제거를 알리는 방법은 무엇입니까? 테라코타에는 어떤 옵션이 있습니까? 이 만료 이벤트가 L2에서 모든 개별 앱으로 이동합니까? 시간 지연은 무엇입니까? 모든 개별 앱에 만료 키를 보내고 싶지 않습니다. 이것이 성취 될 수 있습니까?

도움 주셔서 감사합니다.

답변

0

아마도 누락되었지만 단순히 cache.removeAll (keys)를 호출하는 대신 해당 키를 만료/제거하려는 이유가 확실하지 않습니다. 이 제거는 로컬 캐시에있는 항목이있는 모든 L1 노드로 자동 전파됩니다.

시간 지연은 분산 캐시의 일관성 설정에 따라 다릅니다.