我正在运行一个基于 Flask 的 Web 应用程序,该应用程序使用 Mongodb(与 Pymongo 一起用于 Python)。几乎每个视图都访问数据库,因此我想最有效地利用内存和 CPU 资源。我不确定实例化 pymongo 的 Connection() 对象最有效的方法是什么,该对象用于访问和操作数据库。现在,我from pymongo import Connection
在文件顶部声明,然后在每个视图函数的开头声明:
def sampleViewFunction():
myCollection = Connection()['myDB']['myCollection']
## then use myCollection to manipulation the database
## more code...
我可以做的另一种方法是在我的文件顶部声明:
from pymongo import Connection
myCollection = Connection()['myD']['myCollection']
然后稍后,您的代码将显示为:
def sampleViewFunction():
## no declaration of myCollection since it's a global variable
## then use myCollection to manipulation the database
## more code...
所以唯一的区别是myCollection
. 这两种方法在处理内存的方式和 CPU 消耗方面有何不同?由于这是一个 Web 应用程序,我正在考虑多个用户同时是站点的场景。我想与数据库的连接的生命周期有所不同,我猜这可能会影响性能。