数据库连接池的原理

news/2024/7/6 1:50:00
数据库连接池,简称dbcp database connection pool

存在意义:
数据库的连接是非常耗费系统资源的,一个应用通常都是需要与数据库打交道,也就需要经常连接数据库,这样导致浪费大量系统资源;

连接池的原理就是:我事先创建好几个数据库连接放着,当我的系统需要操作数据库时就从连接池里直接拿连接,并将这个连接标记为 忙 ;用完后在放会池中,标记为 空闲;;;

当连接池里的连接都在被使用,如果此时还要连接,连接池就会在创建连接放到池里,,这些连接的数量,都是在配置文件里由你控制的

打开数据库连接是CPU和网络的重要 任务,因此,在整个应用程序的使用过程 当中重复的打开直接连接将导致性能的下降。 而池连接只在服务器启动时打开一次,从而 消除了这种性能问题。 另外,因为连接只用于很短的时间, 所以,连接可以被有效共享, 而且有关连接参数的特有信息, 只对池驱动程序有效, 如数据库用户名称和密码, 从而增强了系统的安全性和可管理性。

通熟易懂就是,连接池就像口井,里面好多水,你需要一个连接就去井里提一桶水一样。不同的是,当你不用了就把水重新放入井中。
数据库连接池的基本原理是在内部对象池中维护一定数量的数据库连接,并对外暴露数据库连接获取和返回方法。如:

外部使用者可通过getConnection 方法获取连接,使用完毕后再通过releaseConnection 方法将连接返回,注意此时连接并没有关闭,而是由连接池管理器回收,并为下一次使用做好准备。

数据库连接数和数据库连接池的连接数区别?

        1、数据库连接数,也就是一个数据库,最多能够同时 接受 多少个 客户的连接.
  2、在没有数据库连接池 的情况下, 一个客户,每次访问, 就要创建一个 数据库连接, 执行 SQL, 获取结果, 然后关闭、释放掉数据库连接,问题就在于创建一个数据库连接, 是一个很消耗资源,花费很多时间的操作,于是数据库连接池产生了。
  3、数据库连接池 预先打开一定数量的数据库连接, 并维持着连接。
  4、当客户要执行SQL语句的时候, 从数据库连接池 里面,获取一个连接,执行SQL, 获取结果, 然后把数据库连接,交还给数据库连接池。
  5、假如一个 session , 执行10次独立的操作,那么不使用 数据库连接池的,需要创建数据库连接10次,并关闭10次。
  6、使用 数据库连接池的,直接使用 数据库连接池中已经打开好的,直接使用。






http://www.niftyadmin.cn/n/1221532.html

相关文章

SNK 和PDF

snk 1用来证明这个生成的程序集是你发布的; 2如果你写的程序集要用在多个应用程序上的话,那么这个程序集必须要拥有唯一的名称,这个强名称是程序集唯一名称的一部分。 3只要你保护好你的snk文件不要公布出去,那么没有任何人可以…

服务器管理器损坏求怎样修复

MMC无法创建管理单元。此管理单元可能没有正确安装。 名称:服务器管理器 CLSID:FX:{18ea3f92-d6aa-41d9-a205-2023400c8fbb} 貌似是由于.Net Framework出现故障。以下是网络上查找到的方法,希望对你有用:方案一:把系统升级安装的.…

数据库连接池配置

今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,希望对大家有所帮助:(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下面建文…

生成自己定义的.pfx数字证书

生成自己定义的.pfx数字证书 备忘: rem 使用vs2005自动创建的.pfx数字证书默认有效期只有一年,并且“颁发者”、“颁发给”均为当前机器名和当前登陆用户名的组合,其实我们完全可以创建更友好的.pfx数字证书。 rem 打开Microsoft .NET Fr…

从零开始安装Hadoop视频教程

从零开始安装Hadoop视频教程 Hadoop 是一个能够对大量数据进行分布式处理的软件框架,用这种技术使得普通的PC服务器甚至一些近过时的服务器也能够发挥余热,组成大型集群系统,由于它的可伸缩性能够处理PB级的数据,更加适用于大数据…

java配置数据库连接池的方法步骤

先来了解下什么是数据库连接池 数据库连接池技术的思想非常简单,将数据库连接作为对象存储在一个Vector对象中,一旦数据库连接建立后,不同的数据库访问请求就可以共享这些连接,这样,通过复用这些已经建立的数据库连接&…

教你如果保证WebService的通讯安全

Web Service现在是很通用的技术,在Web Service我们需要验证用户是否有使用此Web Service的权限,并且要保证在通讯过程中的数据安全,防止数据在传输过程中被网络窃听。 首先是如何保证Web Service被授权使用,在这里我说的是通过Soa…

WPF+SQL Server 2008 TaskVision Demo小结

最近在Academy做了一个练习TaskVision,用WPFSQL Server 2008完成。主要的功能是,实现一个任务分配管理。具体如下: 系统登录,登录完成后,在MainWindow中用DataGrid显示任务的信息,可根据指定条件进行过滤&a…