美文网首页
数据集连接池

数据集连接池

作者: 风雪_夜归人 | 来源:发表于2023-10-20 22:25 被阅读0次

    目的:主要是解决资源频繁被分配和释放的浪费问题。

    基本功能

    1.从连接池获取或创建连接
    2.使用完毕后,将连接返回给连接池
    3.在系统关闭前,确认断开所有连接并释放资源
    4.管理连接数量,和已有连接的可能性

    核心参数:

    1.最小连接数:一直保持的数据库连接,不能很大,会造成资源浪费
    2.最大连接数:最多的连接数量,如果超过,应该创建等待队列等待,设置超时时间,超时则抛出异常
    3.引用计数器,记录连接使用者的个数

    核心原理

    1.本质上是对连接的复用,从创建连接、管理连接到释放连接的过程。
    1)系统初始化时,创建连接(最小连接数),使用容器。list map等承载他们
    2)分配和管理策略:
    比如请求时,如果连接数足够直接分配,如果不够达到设置等待时间,超过时间抛出异常
    释放连接请求时,先看引用次数,如果次数超过规定阈值 就会删除该连接。如果没超过则继续使用。
    3)连接池关闭,关闭所有连接以及释放所有资源
    4)在并发和事务的使用上,需要注意,如果要事务互相独立,保障某一时间内一个连接只分配给一个线程

    常用连接池

    1.dbcp
    2.c3p0
    dataSource = new ComboPooledDataSource(); 无参取默认配置
    dataSource = new ComboPooledDataSource(“aabb”); 有参取配置文件中name名称一致的配置
    3.druid
    dataSource = DruidDataSourceFactory.createDataSource(Properties对象);

    相关文章

      网友评论

          本文标题:数据集连接池

          本文链接:https://www.haomeiwen.com/subject/wvtlidtx.html