我有一个名为User的类,有2个方法,一个是“login”,另一个是“register”。 “登录”和“注册”都需要连接数据库。我是否每次都需要连接数据库?我可以只连接一次以减少连接数据库的时间吗?谢谢。
答案 0 :(得分:4)
保持与数据库的连接打开需要Web服务器和数据库服务器上的专用资源,并且可用的打开连接数通常非常有限(在100范围内)。连接过程通常非常快,不应该是一个问题。通过尽快打开和断开连接,扩展通常没有问题。
与往常一样,首先尝试简单轻量级的方法(每次都会连接并尽快断开连接)。从那里你可以衡量是否确实存在问题。
答案 1 :(得分:1)
是的,您每次都需要连接。但是,只要您的用户名,主机和密码相同,您就可以使用mysql_pconnect()来减少连接负担。这将检查是否存在具有相同连接DSN的任何活动资源。如果找到,它将返回相同的对象,只要它处于活动状态,而不是创建新连接。
希望有所帮助。
答案 2 :(得分:1)
在这种情况下,类User应该期望构造函数中提供的DB连接对象。 然后构造函数应将其保存为局部变量,并且login()和register()方法都希望此变量包含有效的连接对象。
并且,请使用PDO代替旧的mysql_*
方法。这将为您提供一个连接对象,您可以在所有需要数据库连接的类中共享
答案 3 :(得分:0)