fatfree数据库连接池

时间:2018-09-04 16:52:06

标签: fat-free-framework

我想知道f3是否具有数据库连接池的概念。 当我检查CMS的示例代码时,似乎数据库连接是在控制器的构造中创建的。

function __construct() {
    $f3=Base::instance();
    // Connect to the database
    $db=new DB\SQL($f3->get('db'));

因此,每当对任何控制器发出请求时,都会创建一个新的数据库连接。 如果服务器负载很大,则可能导致数据库饱和。

f3(或任何插件)是否支持数据库连接池,以便我们可以限制数据库连接的数量? 数据库连接数超过池大小时,请求将放入队列中。

1 个答案:

答案 0 :(得分:0)

在控制器中创建数据库连接不是强制性的,因为这只是一个简单的示例。我不建议这样做,建议至少使用服务位置,或者甚至更好地使用依赖项注入。

F3没有池管理。如果我没有记错的话,PHP中没有池管理。可能有一个PECL模块添加了此功能。干净的PHP环境通常会回答请求(PHP-FPM,FCGI,mod_php)(某些细节除外,例如apcuobcache或会话)。

更多信息