MongoDB 实战总结
# MongoDB 实战总结
# 连接池
- 在用 MySQL 的时候,通常我们会创建一个连接池。每次增删改查都会从池子里获取一个已经存在的连接,这样做会减少新建连接而造成的资源浪费。
- 在 MongoDB 中,有一个最大连接数限制,默认值为 1000000。我们也可以通过 net.maxIncomingConnections 参数来配置它。以 MongoDB 为例,每个线程都要分配 1MB 的栈内存出来。
new MongoClient
的时候就已经创建了一个连接池,getDatabase 只是从这个连接池中拿一个可用的连接。而连接池是不需要我们及时关闭的,我们可以在程序的生命周期中维护一个这样的单例.- 在 mongo 中,一个连接池会维持一定数目的连接,当你需要的时候调用 getDatabase 去连接池中拿到连接,而 mongo 会在这个 DB 执行完数据操作时候自动收回连接到连接池中待用。所以在 mongoDB 中大家不必担心连接没有关闭的问题,在你需要在所有操作结束或者整个程序 shutdown 的时候调用 mongo 的 close() 方法即可。
- 默认的连接池大小为5,配置项为
poolSize