캐시 및 데이터베이스의 일관성

       귀하의 비즈니스가 성장함에 따라 트래픽이 점점 더 될 것입니다, 우리는 또한 DB의 압력을 증가하고, 우리는 DB의 압력을 감소시키는 수단이 많이 걸릴 것입니다. 이것은 많은 복잡한 밸런싱, CDN, 캐싱, 읽기 및 쓰기 분리, 클러스터가있는 것을 의미한다. 캐시는 일반적인 여기뿐만 아니라 높은 성능을 의미한다. 그러나 자주 자주 변경되지 않는 데이터에 사용되는 캐시를 사용하지만, 우리는 또한 존재하고 일관성있는 데이터베이스 캐시 장면이 필요합니다. 예를 들어, 수정 된 제품 속성, 신속하게 사용자 인터페이스에 표시되어야합니다. 오염을 방지하기 위해 읽기에서 원인을 오해의 소지가 사용자를 읽고, 우리는 캐싱 및 데이터 일관성을 할 필요가있다.

  e 노드 그룹 한, 당나라 Xuehua 교사는 두 가지 옵션이 제공됩니다. 첫 번째 타이밍 작업 + 캐시 기록. 우리는 정상 DB 데이터, 데이터의 캐시를 읽을 처음이다. 캐시 키가 데이터베이스에 저장되는 동안 그 다음 우리는 각각 DB (CRUD) 작업을 수행 할 수 있습니다. 당신은 DB 작업이 성공하면 해당 키가 성공을 보장 할 수 있도록 주요 운영 및 데이터 삽입 작업은 일입니다. 이번에는 캐시, 그것은 다시 읽어 것이다 DB를 통해 다음 사용자 요청을 삭제하고 다시 캐시하는 DB 키에 따라 시간 제한 작업을 엽니 다. 이 메커니즘 게으른 로딩하고 쉽게 구현할 수 있습니다. 변경이 잦은 경우 직접 캐시를 업데이트보다는 삭제할 때 갑자기 압도 DB를 방지하기 위해, 캐시의 히트 율을 감소하지 않도록, 당신은 작업을 고려할 수 있습니다. JOB 여부는 동시의 전화 번호에 따라 캐시를 삭제하거나 업데이트합니다.

  두 번째 방식은 CAP의 느낌에 다소 유사한 메시지 큐 구현을 사용합니다. 직접 DB를 업데이트하지만, 메시지를 보낼 수없는 데이터를 수정합니다. 이 메시지는 업데이트를 동시에 DB는 캐시를 업데이트, 관련이있다. 업데이트 DB가 실패 할 경우,이 소식이 실패 고려하십시오. 캐시가 성공적으로 업데이트 될 때까지 업데이트 DB 성공하면 캐시를 업데이트 할 수있는 실패, 다음 메시지는, 그래서 최종 일관성을 시도합니다. 그런 다음 뉴스 소비 전력 및 기타 방법을 다시 시도 할 수 있도록하기 위해 수행해야합니다.

  

추천

출처www.cnblogs.com/learnEver/p/10953027.html