PHP Mongodb驱动程序1.5:如何使用连接池?

时间:2019-03-27 04:20:54

标签: php mongodb

我正在使用PHPLIB 1.4 + PHP mongodb-1.5(PECL)。如何设置连接池?我搜索了,但是所有结果都是旧版本。

1 个答案:

答案 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客户端对象。如果找不到用于哈希的现有客户端,则会创建一个新客户端(并将其持久保存以备将来使用)。

查看更多信息MongoDB PHP Connection Handling