sql >> Database >  >> NoSQL >> MongoDB

Read-your-own-writes-consistentie in Mongodb

Er zijn een paar punten over deze vraag.

  1. U bent niet gegarandeerd van lees-na-schrijfconsistentie, tenzij u "safe=true" gebruikt , "w=1" (of hoger) of "j=true" met je schrijven. U kunt deze ofwel opnemen als onderdeel van de insert() of update() commando's, of gebruik anders set_lasterror_options() om deze opties in te stellen voor de verbinding, database of verzameling die u gebruikt.

  2. Als u lezen van secundaire knooppunten toestaat (bijvoorbeeld een andere ReadPreference dan PRIMARY), krijgt u geen lees-na-schrijf-semantiek, maar alleen uiteindelijke consistentie.

  3. Als u een ReadPreference van PRIMARY gebruikt en u de juiste lasterror-opties instelt, krijgt u gegarandeerd lees-na-schrijf-semantiek voor alle bewerkingen die dezelfde socket gebruiken, dat wil zeggen dezelfde thread.

  4. Als u meerdere threads gebruikt en NIET leest vanaf secundaire knooppunten, krijgt u gegarandeerd lees-na-schrijfconsistentie zolang u de leesbewerking in de tweede thread uitvoert nadat het schrijven in de eerste thread is voltooid. U kunt standaard threadsynchronisatieprimitieven gebruiken om dit te verzekeren.



  1. Hoe arrays van meerdere documenten samenvoegen in MongoDB?

  2. MongoDB Correct schema voor geaggregeerde gegevens

  3. Hoe gebruik je django samen met mongoengine?

  4. Inleiding tot Redis-gegevensstructuren:hashes