Zend init数据库连接按需

时间:2012-10-16 09:45:52

标签: database zend-framework lazy-evaluation

在我目前的项目中,使用Zf 1.13(或类似的东西)编写,我的页面获得了大量的点击(超过5k的同时连接)。

我已经设置Memecached来限制这些页面发出的查询量,但是我现在遇到另一个问题:它们仍然生成与mysql的连接,因此即使没有发出查询也会到达mysql的max_clients。

所以在我的打火机Bootstrap中,我有这段代码

$db = Zend_Db::factory($cfgT['resources']['db']['adapter'], $cfgT['resources']['db']['params']);
$db->getConnection();
Zend_Db_Table::setDefaultAdapter($db);

我想知道我是否可以将这段脚本从Bootsrap类中移出到脚本中,以便仅在我收到缓存未命中时初始化数据库连接?

感谢您的帮助!

此致

1 个答案:

答案 0 :(得分:0)

Zend_Db默认执行此操作。但是,您拥有的$db->getConnection()调用将触发数据库连接 - 如果您删除它,它应该按照您的意愿工作,并在执行第一个查询时连接。