我有使用数据库的网站,我已经实现了单例模式来连接数据库。
但是我的网站使用了大量的iframe或内页,而这些内页又使用每个页面中的单例模式连接到数据库。
我有几个问题需要澄清 1)如果用户A访问网站,他浏览10个页面,为所有页面执行此操作只创建一个连接,或者每个页面创建一个连接?
2)对于所有数据库连接,子页面中的amde将使用相同的连接还是新连接?
3)当用户从网站上存在时,如何关闭数据库连接? 我发现关闭数据库连接很棘手,假设在我的index.php中,如果它有menu.php,stats.php和profile.php,我无法确定何时关闭连接? 什么是关闭连接的最佳实践?
网站建立在PHP和MYSQL数据库之上。
答案 0 :(得分:1)
如果使用单例,则为每个请求建立一次连接。
index.php
文件中包含php页面,请在include
/ require
语句后关闭连接。答案 1 :(得分:0)
一些开发人员认为在页面末尾要求关闭连接是一种好习惯。其中一些还花时间在脚本的末尾释放变量和数组。对我来说这是浪费字节。只是因为它们是良好的编码实践而做的事情是可以的,但在我看来,我们的目标应该是快速加载网页和在数据交换中有效使用数据库(往返)。事实上,当你关闭一个PHP脚本或导航到另一个页面时,除非两个页面都使用php会话,否则上一页和它上面的所有内容都将会消失。它不再存在,php转储它。
一旦发生这种情况,就无法检索任何信息,因为它确实被杀死了。 至于数据库连接,它们会自行关闭。
一旦脚本执行结束,服务器的链接就会关闭,除非通过显式调用mysql_close()将其关闭。这在mysql_connect();
下的手册中说明再一次,有些人喜欢在他们的脚本末尾调用一行代码调用mysql_close($ DB),但是还记得浪费字节吗?
如果已经完成,请将其保留。只差2美分。