pierwsze, tutaj jest to, co zostało powiedziane w Pymongo DocumentationRead-your-own-pisze spójność MongoDB
Domyślnie PyMongo rozpoczyna wniosek dla każdego wątku, gdy wątek pierwszy uruchamia operację na MongoDB. Gwarantuje to ** czytanie-pisze-zapis spójność. W ramach żądania wątek będzie nadal używać wyłącznie tego samego gniazda, a żaden inny wątek nie użyje tego gniazda, dopóki wątek nie wywoła metody end_request() lub nie zakończy się. W tym momencie gniazdo jest zwracane do puli połączeń w celu użycia przez inne wątki.
więc podczas korzystania z biblioteki asynchronicznej do MongoDB (jak Asyncmongo, silnik), użytkownik będzie mieć konsystencję jak ten w blokowaniu połączeń lub ewentualną konsystencję?
myślę że dasz wszystkich możliwości: D używam MongoDB z Tornado, a tornado jest to pętla wydarzenie, więc jest to trudny sposób, aby uzyskać wątki, więc co z bibliotekami Asynch (które nie używać wątków) –
Umm ... to zależy od używanej biblioteki asynch. Obowiązują te same zasady: możesz tylko przeczytać to, co napisałeś, gdy polecenie getLastError() zwróci poprawnie. Po uzyskaniu pomyślnego zwrotu z getLastError(), każdy wątek inicjujący funkcję find() zobaczy zapisane dane. Synchronizacja między wątkami jest pozostawiona jako ćwiczenie dla czytelnika. –
Myślę, że jest to odpowiedź, ponieważ mówi w sposób ogólny, więc muszę tylko zobaczyć, jak działa silnik lub Asyncmongo: D jeszcze raz dziękuję –