我正在使用PHPLIB 1.4 + PHP mongodb-1.5(PECL)。如何设置连接池?我搜索了,但是所有结果都是旧版本。
答案 0 :(得分:0)
PHP驱动程序使用libmongoc的单线程客户端模式,该模式不实现连接池。
请参见mongo-php-driver: issues#688:
任何单线程都不需要连接池 应用程序,除非您使用异步PHP框架(例如Amp, ReactPHP)。在这种情况下,您可能需要实施自己的 驱动程序,因为我们无法将libmongoc的IO与PHP集成在一起 事件循环。多线程PHP应用程序(例如pthreads,forking) 驱动程序不支持。
PHP驱动程序从版本1.2.0+开始使用连接和拓扑持久性,而不是连接池。
调用MongoDB\Driver\Manager::__construct()时,会根据其参数(即URI字符串和数组选项)创建一个哈希。驱动程序将尝试为该哈希查找先前持久的libmongoc
客户端对象。如果找不到用于哈希的现有客户端,则会创建一个新客户端(并将其持久保存以备将来使用)。