php 有一个开源的数据库连接池程序可以使用:sqlrelay,它支持的数据库非常多
连接池的作用主要是节省打开数据库的时间。
由于打开数据库连接比较耗时,所以连接池机制预先打开N个数据库连接,把它们缓存起来,当需要使用数据库的时候就直接使用这些已经打开的连接,从而节省了
时间。
建新的对象并初始化的操作,可能会消耗很多的时间。在这种对象的初始化工作包含了一些费时的操作(例如,从一台位于20,000千米以外的主机上读出一
些数据)的时候,尤
其是这样。在需要大量生成这样的对象的时候,就可能会对性能造成一些不可忽略的影响。要缓解这个问题,除了选用更好的硬件和更棒的虚拟
机以外,适当地采用一些能够减少
对象创建次数的编码技巧,也是一种有效的对策。对象池化技术(Object
Pooling)就是这方面的著名技巧.
对象池化的基本思路是:将用过的对象保存起来,等下一次需要这种对象的时候,再拿出来重复使用,从而在一定程度上减少频繁创建对象所造成的开销。用于充当
保存对象的“
容器”的对象,被称为“对象池”(Object Pool,或简称Pool)。
数据库连接pool是专门保存和管理数据库连接的pool.
恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率。
采用对象池化的本意,是要通过减少对象生成的次数,减少花在对象初始化上面的开销,从而提高整体的性能。然而池化处理本身也要付出代价,因此,并非任何情
况下都适合采
数据库连接池的原理:
J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。
客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。
如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。
当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
浙公网安备 33010602011771号