使用 PyMongo 创建持久的 MongDB 连接
Posted
技术标签:
【中文标题】使用 PyMongo 创建持久的 MongDB 连接【英文标题】:Creating a persistent MongDB connection with PyMongo 【发布时间】:2015-06-09 17:02:38 【问题描述】:有哪些方法可以与 MongoDB 建立持久连接,而不是创建 MongoClient 实例并在构造查询时使用它?我注意到它在每个查询操作上打开/关闭一个连接。
我正在使用 Python,并安装了 pymongo。我环顾四周,并没有找到太多关于连接管理的信息。鉴于此,关于数据库管理的一般建议是什么?
【问题讨论】:
感谢您的链接。我将使用当前的方法。 MongDB 自己管理这个连接吗?单连接、连接池和长连接的思想有什么区别? 【参考方案1】:在 Python 模块的顶层有一个全局 MongoClient:
client = MongoClient(my_connection_string)
在应用程序启动时创建一个客户端至关重要。在应用程序的整个生命周期内为每个操作使用同一个客户端,并且永远不要在其上调用“关闭”。这将提供最佳性能。
客户端管理一个连接池,并尽可能地重用连接。它确实不为每个查询打开和关闭一个新的连接,那太糟糕了。 See PyMongo's docs for connection pooling.
【讨论】:
以上是关于使用 PyMongo 创建持久的 MongDB 连接的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 pymongo 2.2 连接到 MongoDB 2.0.5 数据库
使用 PyMongo 和 x509 SSL 证书连接到 MongoDB 数据库时出现 ServerSelectionTimeoutError
Pymongo 无法连接到数据库:pymongo.errors.ServerSelectionTimeoutError: connection closed
使用 TLS 将 pymongo 客户端连接到 mongodb 服务器
通过 httpd 上的 Flask-PyMongo 连接到 MongoHQ URI 时出现 ConnectionFailure