복붙노트

[MONGODB] 어떻게 MongoDB를 동시 업데이트를 처리합니까?

MONGODB

어떻게 MongoDB를 동시 업데이트를 처리합니까?

나는 지금까지 좋은 때문에 직장에서 MongoDB를 사용하기 시작. 나는 어떻게 MongoDB를 동시 업데이트를 처리 않지만 궁금 해서요? 나는이 처리하는 일반적인 관행이 무엇인지 궁금 해서요 있도록하여 MongoDB에는 잠금 기능이 없다는 것을 읽었습니다.

감사.

해결법

  1. ==============================

    1.MongoDB를 단 하나의 쓰기 작업 (갱신 / 삽입 / 삭제)을 한 번에 수행 할 수 있음을 보장하기위한 프로세스 넓은 쓰기 잠금을 사용했다. 쓰기 동시성은 단순히 허용되지 않기 때문에 이와 같이 자동으로 동시성 문제를 해결합니다.

    MongoDB를 단 하나의 쓰기 작업 (갱신 / 삽입 / 삭제)을 한 번에 수행 할 수 있음을 보장하기위한 프로세스 넓은 쓰기 잠금을 사용했다. 쓰기 동시성은 단순히 허용되지 않기 때문에 이와 같이 자동으로 동시성 문제를 해결합니다.

    4 개 스레드가 그들의 업데이트 작업의 하나가 쓰기 잠금을 취할 것입니다 시도 할 경우, 그 갱신을하고 잠금을 해제. 잠금을 사로 잡고 나머지 세의 한 후, 그 갱신을 등

    당신의 작업이 하나의 쓰기 작업에 싸여 할 수없는 경우 동시성을 게임에 온다. 참고 가장 일반적인 쓰임새가 (한 문서 발견을 업데이트하고 원자 새 버전을 잡아) MongoDB를 제공을 그냥 않는 "findAndModify"명령 있음 : http://www.mongodb.org/display/DOCS/findAndModify+Command를

    UPDATE : 잠금 요즘 더 세분화이다.

  2. ==============================

    2.수정 작업을 사용합니다 :

    수정 작업을 사용합니다 :

    INC $ 것은 $ 해제 $ 푸시을 설정 $ $ pushAll $ addToSet $ ​​팝 $ 당겨 $ pullAll $ 이름 바꾸기 $ 비트

    그들 모두는 원자이다.

  3. from https://stackoverflow.com/questions/6997835/how-does-mongodb-deal-with-concurrent-updates by cc-by-sa and MIT license