避免重复的mysql连接

Posted

技术标签:

【中文标题】避免重复的mysql连接【英文标题】:avoid repeated mysql connections 【发布时间】:2013-06-30 09:52:58 【问题描述】:

如果我重新连接到数据库,我不确定是否在每次加载页面时都包含此脚本。

有没有办法只连接一次?我应该使用会话来告诉我网站是否已连接?

示例:这是我的 config.php

<?
$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'pass';
$db = 'demo';
$con = mysqli_connect($dbhost,$dbuser,$dbpass,$db);
?>

然后在 index.php 的顶部

<?
session_start();
require_once 'inc/config.php';
include_once 'inc/functions.php';
?>

每次加载 index.php 时,db 每次都会不必要地连接吗?如果是这样,有什么好的方法可以避免这种情况?

【问题讨论】:

一些 API 提供"persistent connections",但实际上您在每次页面加载时都在重新连接。不过,这通常不是问题,而且是典型的方法。 持久连接在 PHP 中有点奇怪... 【参考方案1】:

如果我重新连接到数据库,我不确定是否在每次加载页面时都包含此脚本。

是的。

有没有办法只连接一次?

没有。

我是否应该使用会话来告诉我网站是否已连接?

这是不可能的。

在每次页面加载时连接都没有问题。它就是这样工作的。没什么好担心的。

【讨论】:

以上是关于避免重复的mysql连接的主要内容,如果未能解决你的问题,请参考以下文章

配置文件来连接数据库(Mysql)

Mysql连接池

MySql连接空闲8小时自动断开的原因及连接池配置方法

MySQL 语句级避免重复插入—— Insert Select Not Exist

JDBC MySql 连接池实践避免连接池耗尽

MySQL优化: 应用层面的优化