• 数据库连接池


    数据库连接池的目的

    为了减少频繁开关连接的时间,提高整个系统的相应能力

    通过分析发现应该具备几个属性值:

      1、初始大小

      2、每次扩容的大小

      3、连接池的最大个数

      4、空闲连接的死亡时间

    各种数据库连接池

    1、DBCP(基本不用)

    2、C3P0

      注意:

        一般不会在代码中直接设置数据库相关的属性值

        这些属性值会直接写在配置文件中

    3、Druid

     properties文件配置#驱动名称#driverClassName=com.mysql.jdbc.Driver

    #url
    url=jdbc:mysql://localhost:3306/demo
    #用户名
    username=root
    #密码
    password=123456
    #配置初始化大小、最小、最大
    initialSize=5
    minIdle=10
    maxActive
    
    #配置监控系统拦截的filters:监控统计用的filter:stat日志用的filter:log4j防御sql注入的filter:wall
    filters=stat
    #配置获取连接等待超时的时间
    maxWait=60000
    #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    timeBetweenEvictionRunsMillis=60000
    #配置一个连接在池中最小的生存的时间,单位是毫秒
    minEvictableIdleTimeMillis=600000
    maxEvictableIdleTimeMillis=900000
    #建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
    testWhileIdle=true
    #申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
    testOnBorrow=false
    #归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
    testOnReturn=false
    #是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
    poolPreparedStatements=true
    #要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
    maxOpenPreparedStatements=20
    #asyncInit是1.1.4中新增加的配置,如果有initialSize数量较多时,打开会加快应用启动时间
    asyncInit=true

    4、hikariCP

    main方法测试类

     HikariCP.properties

    dataSourceClassName=com.mysql.jdbc.jdbc2.optional.MysqlDataSource
    dataSource.user=root
    dataSource.password=123456
    dataSource.databaseName=demo
    dataSource.portNumber=3306
    dataSource.serverName=localhost
    

  • 相关阅读:
    jmeter脚本开发:influxdb + grafana + jmeter(九)
    jmeter脚本开发:Beanshell(八)
    android APP上线前,应该准备的东西
    android硬件返回
    PagerAdapter 普通写法
    FragmentStatePagerAdapter写法
    Fragment之间传数据
    配置gradle.properties
    android最新版 极光推送
    SensorManager
  • 原文地址:https://www.cnblogs.com/lyc-code/p/13622321.html
Copyright © 2020-2023  润新知