2014-09-19 34 views

답변

14

예 이러한 패턴 모두에 코드를 작성해야하지만 리드 스루/쓰 기 비하인드 방식을 사용하면 여러 가지 이점이 있습니다.

예. cache-aside 패턴에서 응용 프로그램은 데이터베이스에서 읽고 쓰며 데이터베이스와 캐시를 동기화 유지해야합니다. 이렇게하면 응용 프로그램의 코드가 복잡해질 수 있으며 여러 응용 프로그램이 동일한 데이터를 처리 할 경우 코드가 중복 될 수 있습니다. 다른 한편으로는 Read-through/write-behind는 애플리케이션의 로직을 단순화합니다.

또한 read-through는 동일한 객체에 대한 병렬 호출을 차단하여 데이터베이스 호출을 줄일 수 있습니다. NCache

하여이 article에 설명 된대로 캐시 항목이 만료와 다수의 병렬 사용자 스레드 데이터베이스를 치는 끝날 경우 많은 경우가 있습니다. 이를 수백만 개의 캐시 된 항목과 수천 개의 병렬 사용자 요청과 곱하면 데이터베이스의로드가 눈에 띄게 높아집니다.

마찬가지로 쓰기 숨김 (비동기) 캐시 옆에서

, 쓰기 작업을 가속화하여 응용 프로그램의 성능을 향상시킬 수 있습니다, 응용 프로그램이 직접 동 기적으로 데이터베이스를 업데이트합니다. 반면 Write-behind를 사용하면 응용 프로그램에서 캐시를 신속하게 업데이트하고 반환 할 수 있습니다. 그런 다음 캐시를 사용하여 백그라운드에서 데이터베이스를 업데이트 할 수 있습니다.

cache-aside를 통한 read-through/write-behind 사용의 이점에 대한 자세한 내용은 this article을 참조하십시오. 이 도움이되기를 바랍니다 :)

+0

고마워요. 나는 매우 도움이되는 기사를 보았다. 혹시 독서력, 구심 쓰기 개념을 구현해 봤습니까? – dineshd87

+0

네, 필자는 read-through 및 write-behind 기능을 모두 사용했습니다. 또한 write-behind와 같은 write-through 패턴이 있지만 데이터베이스 쓰기는 캐시 추가와 동기입니다 (항목이 데이터베이스에 성공적으로 기록 된 경우에만 캐시에 추가되는지 확인). –