2015-08-28 98 views
0

有相当多的博客/链接阻止持久连接的使用,主要是因为清理需要在客户端完成,以及事务/锁必须正确回滚的情况。但是,这些链接是旧的,而不是mysqli PHP界面的上下文。使用PHP mysqli接口使用持久连接安全吗?

我读的链接:The mysqli Extension and Persistent Connections

它清楚地表明,当一个客户端意外终止,它做了大部分所需的清理:

  • 回滚活动事务
  • 关闭和删除临时表
  • 解锁表格
  • 重置会话变量
  • 关闭预处理语句(总是与PHP发生)
  • 关闭处理
  • 释放锁用GET_LOCK(收购)

现在几乎做了大部分的清理,包括读/写锁放在桌子上,如果有的话。所以我认为它应该是安全的。我可以错了吗?

另外,它说有一些性能损失的形式需要额外的时间做清理。我想知道毫秒数可能有多少?它可以像100毫秒一样大吗?

虽然自动清理功能有优点和缺点。 好处是程序员不再需要担心添加清理代码,因为它会自动调用。但是, 的缺点是代码可能会慢一点,因为每次从连接缓冲池返回连接时,执行清理的代码都需要运行 。

回答

1

我不知道你是否真的认为你可以信任匿名路人的回答,而不仅仅是官方文档页面,这清楚地回答你的问题。

但如果你这样做 - 是的,你可以相信它应该是安全的。

就性能损失而言,从它被问到的方式来看,我相信你根本不需要持久连接。

+0

那么清理的时间将超过db连接吗? – Ouroboros