MongonDB自学笔记

三类Nosql数据库:

解决高并发问题:Redis

解决海量读写问题:MongoDB CouchDB

解决扩展性问题:分布式数据库

MongoDB java

MongoDB JAVA 驱动是线程安全的。

MongoClient 内部维护一个线程池实现,池大小默认最大为100

每一次的会话connecton可能是不一样的。

DB和DBCollection 也是线程安全的,实际上他们被缓存起来了,不管何种情况,你取到的都是同一个实例。

官网原文:http://docs.mongodb.org/ecosystem/drivers/java-concurrency/

The Java MongoDB driver is thread safe. If you are using in a web serving environment, for example, you should create a single MongoClient instance, and you can use it in every request. The MongoClient object maintains an internal pool of connections to the database (default maximum pool size of 100). For every request to the DB (find, insert, etc) the Java thread will obtain a connection from the pool, execute the operation, and release the connection. This means the connection (socket) used may be different each time.

Additionally in the case of a replica set and a read preference of secondary, the read operations will be distributed evenly across all secondaries. This means that within the same thread, a write followed by a read may be sent to different servers (master then slave). In turn the read operation may not see the data just written since replication is asynchronous.

DB and DBCollection are completely thread safe. In fact, they are cached so you get the same instance no matter what.

猜你喜欢

转载自luckytyy.iteye.com/blog/2167061