繁体   English   中英

在php中每次都需要连接db吗?

[英]Do I need to connect db every time in php?

我有一个名为 User 的 Class,有两种方法,一种是“登录”,另一种是“注册”。 “登录”和“注册”都需要连接数据库。 我每次都需要连接数据库吗? 我可以连接一次以减少连接数据库的时间吗? 谢谢你。

保持与数据库的连接打开需要 web 服务器和数据库服务器上的专用资源,并且可用的打开连接数通常非常有限(在 100 范围内)。 连接过程通常非常快,应该不是问题。 通过尽可能快地打开和断开连接,扩大规模通常没有问题。

与往常一样,首先尝试简单轻量级的方法(每次都连接并尽快断开连接)。 从那里你可以衡量是否真的有问题。

是的,您每次都需要连接。 但是,只要您的用户名、主机和密码相同,您实际上可以使用 mysql_pconnect() 减少连接的负载。 这将检查是否有任何具有相同连接 DSN 的活动资源。 如果找到,只要它还活着,它将返回相同的 object,而不是创建新连接。

希望有帮助。

在这种情况下 class 用户应该期望在构造函数中提供一个 DB 连接 object。 然后构造函数应该将它保存为局部变量,并且 login() 和 register() 方法都期望这个变量包含一个有效的连接 object。

并且,请使用PDO而不是旧的mysql_*方法。 这将为您提供一个连接 object,您可以在所有需要数据库连接的类之间共享该连接

是的先生。 每次用户连接到您的应用程序以执行登录操作或注册操作时,都必须在最后打开和关闭与数据库的连接。 Keep Alive 选项将杀死您的服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM