2024-03-28 09:46:43 发布
网友
我知道pymongo是线程安全的,并且有一个内置的连接池。在
pymongo
在我正在开发的一个web应用程序中,我会为每个请求创建一个新的连接实例。在
我的理解是,由于pymongo管理连接池,因此在每个请求上创建一个新的连接并不是错误的方法,因为在请求结束时,连接实例将被回收,并在后续请求中可用。在
我是对的,还是应该只创建一个实例来跨多个请求使用?在
“错误的方法”取决于应用程序的体系结构。由于pymongo是线程安全的和自动的连接池,单个共享连接或多个连接的实际使用将“起作用”。但结果将取决于你期望的行为。关于这两个案例的文件评论。在
如果您的应用程序是线程化的,那么从文档中,每个访问连接的线程都将获得自己的套接字。因此,无论您创建一个共享连接,还是请求一个新的共享连接,都取决于您的请求是否是线程化的。在
使用gevent时,每个greenlet可以有一个套接字。这意味着您不必为每个请求都有一个真正的线程。这些请求可以是异步的,并且仍然有自己的套接字。在
简而言之:
“错误的方法”取决于应用程序的体系结构。由于pymongo是线程安全的和自动的连接池,单个共享连接或多个连接的实际使用将“起作用”。但结果将取决于你期望的行为。关于这两个案例的文件评论。在
如果您的应用程序是线程化的,那么从文档中,每个访问连接的线程都将获得自己的套接字。因此,无论您创建一个共享连接,还是请求一个新的共享连接,都取决于您的请求是否是线程化的。在
使用gevent时,每个greenlet可以有一个套接字。这意味着您不必为每个请求都有一个真正的线程。这些请求可以是异步的,并且仍然有自己的套接字。在
简而言之:
相关问题 更多 >
编程相关推荐