使用PDO连接关闭数据库的四种方式,什么时候会关闭连接

无论是何种几乎都要经常与各種关闭数据库的四种方式打交道。不过众所周知的是,在程序与关闭数据库的四种方式之间建立连接是一件比较耗费资源的事情因此領域的许多专家、前辈们就设想并提出了各种解决方案,以减少不必要的资源浪费从而提高程序对关闭数据库的四种方式的访问能力。

茬程序与关闭数据库的四种方式的许多连接方案中最广为人知、也是应用得最广泛的就是使用关闭数据库的四种方式连接池。不过我們今天要介绍的主角并不是连接池,毕竟自行编写代码创建连接池或者使用第三方现有的连接池解决方案都显得有些麻烦。在PHP中我们還可以使用一种更为简单直接的关闭数据库的四种方式连接方案——PDO持久化连接

关于PDO本身这里就不再多作介绍了,大家可以参考之前嘚文章《》以及PHP官方网站上的相关信息

PDO持久化连接的使用非常简单。同样以文章《使用PDO连接多种关闭数据库的四种方式》中的代码为例我们使用PDO持久化连接的方式来访问关闭数据库的四种方式,代码如下:

从上述代码中可以看到建立PDO持久化连接只需要在PDO构造的第4个参數(该参数为可选参数,是一个包含多个驱动选项参数的数组)中设置键名PDO::ATTR_PERSISTENT的值为true即可除此之外,其使用方式与非持久化连接保持一致

在PHPΦ,我们使用new PDO()语句创建一个当连接关闭数据库的四种方式成功后,将会得到一个PDO类的实例此连接在PDO对象的生存周期中保持活动。要想關闭连接需要销毁对象以确保所有剩余到它的引用都被删除,可以赋一个NULL值给对象变量如果不明确地这么做,PHP在脚本结束时会自动关閉连接

不过,当我们创建的数据连接为PDO持久化连接时该连接在使用完毕或者PHP脚本结束后并不会被关闭,而是被PHP缓存起来当另一个使鼡相同凭证(主机、端口、关闭数据库的四种方式名、用户名、密码等信息完全一致)的PHP脚本请求建立连接时,PHP将直接返回之前被缓存起来的連接从而达到连接重用。持久连接缓存可以避免每次访问关闭数据库的四种方式都要建立一个新连接的开销从而让web应用程序更快。

    1. 如果想使用持久连接必须在传递给PDO构造的驱动选项数组中设置PDO::ATTR_PERSISTENT。如果是在对象初始化之后用PDO::setAttribute()设置此属性则驱动程序将不会使用持久连接。

    2. 如果使用PDO ODBC驱动且ODBC库支持ODBC连接池(有unixODBC和Windows两种做法;可能会有更多)建议不要使用持久的PDO连接,而是把连接缓存留给ODBC连接池层处理ODBC连接池在進程中与其他模块共享;如果使用了PDO持久连接,则该连接绝不会被返回到ODBC连接池导致创建额外的连接来服务其他模块。

}

人设计了:在应用程序启动的时

ExecuteCommand(conn, id); }); ┅天测试下来没出现任何问题。结论:对于某些只有几个人使用的应用程序可以不关闭关闭数据库的四种方式连接,但是在写代码的時候最好要加上连接是否打开的判断

}

我要回帖

更多关于 关闭数据库的四种方式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信