【发布时间】:2014-08-16 14:15:59
【问题描述】:
我最近开始在Java 中学习MongoDB,我发现我不必担心关闭每个查询的连接,就像我们为Mysql 和其他sql database 所做的那样。
我想知道,MongoDB java driver 管理每个请求的连接有多好?他们在 java 驱动程序中注意了吗?
【问题讨论】:
标签: java mongodb performance database
我最近开始在Java 中学习MongoDB,我发现我不必担心关闭每个查询的连接,就像我们为Mysql 和其他sql database 所做的那样。
我想知道,MongoDB java driver 管理每个请求的连接有多好?他们在 java 驱动程序中注意了吗?
【问题讨论】:
标签: java mongodb performance database
我不太明白您所说的“设计 Java 驱动程序”是什么意思。 Mongo 带有自己的 java 驱动程序。我假设,您并不是要创建替代驱动程序,而只是想将现有驱动程序与 MongoDB 一起使用。
在这种情况下,您实际上不需要在应用程序中管理连接。 Mongo Java Driver 在内部维护了一个连接池,所以当你进行插入操作时,它会从其内部池中获取一个连接,向 MongoDB 发出一个插入操作并关闭连接。
根据Mongo Documentation,驱动程序是线程安全的。当您使用副本集和 slaveOk 选项时,您应该在某些情况下添加一些代码,但我假设您正在谈论更基本的情况。
您应该创建一个 MongoClient 对象并在您的应用程序中使用它,即使它是多线程的。 您唯一需要做的就是调用
mongoClient.close()
就在您处置驱动程序实例之前。
可以在here找到使用Mongo java驱动程序可以做什么的教程
希望,这会有所帮助
【讨论】: