阿里连接池 Druid 配置详解 数据库阿里连接池 Druid 是一个 Java 语言下的数据库连接池实现,主要用于提高数据库操作的性能。Druid 配置项众多,本文将详细介绍 Druid 的配置项及其作用。 name 配置项 name 配置项用于指定数据源的名称,如果存在多个数据源,监控的时候可以通过名字来区分开来。如果没有配置,将会生成一个名字,格式是:"DataSource-" + System.identityHashCode(this)。 jdbcUrl 配置项 jdbcUrl 配置项用于指定连接数据库的 URL,不同数据库的 URL 不一样。例如,mysql 的 URL 为:jdbc:mysql://10.20.153.104:3306/druid2,而 oracle 的 URL 为:jdbc:oracle:thin:@10.20.149.85:1521:ocnaut。 username 配置项 username 配置项用于指定连接数据库的用户名。 password 配置项 password 配置项用于指定连接数据库的密码。如果你不希望密码直接写在配置文件中,可以使用 ConfigFilter。 driverClassName 配置项 driverClassName 配置项用于指定数据库驱动的类名,根据 URL 自动识别这一项可配可不配,如果不配置 Druid 会根据 URL 自动识别 dbType,然后选择相应的 driverClassName。 initialSize 配置项 initialSize 配置项用于指定初始化时建立物理连接的个数。初始化发生在显示调用 init 方法,或者第一次 getConnection 时。 maxActive 配置项 maxActive 配置项用于指定最大连接池数量。 maxIdle 配置项 maxIdle 配置项已经不再使用,配置了也没效果。 minIdle 配置项 minIdle 配置项用于指定最小连接池数量。 maxWait 配置项 maxWait 配置项用于指定获取连接时最大等待时间,单位毫秒。配置了 maxWait 之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置 useUnfairLock 属性为 true 使用非公平锁。 poolPreparedStatements 配置项 poolPreparedStatements 配置项用于指定是否缓存 preparedStatement,也就是 PSCache。PSCache 对支持游标的数据库性能提升巨大,比如说 oracle。在 mysql 5.5 以下的版本中没有 PSCache 功能,建议关闭掉。 maxOpenPreparedStatements 配置项 maxOpenPreparedStatements 配置项用于指定要启用 PSCache,必须配置大于 0,当大于 0 时,poolPreparedStatements 自动触发修改为 true。在 Druid 中,不会存在 Oracle 下 PSCache 占用内存过多的问题,可以把这个数值配置大一些,比如说 100。 validationQuery 配置项 validationQuery 配置项用于指定检测连接是否有效的 SQL,要求是一个查询语句。如果 validationQuery 为 null,testOnBorrow、testOnReturn、testWhileIdle 都不会其作用。 testOnBorrow 配置项 testOnBorrow 配置项用于指定申请连接时执行 validationQuery 检测连接是否有效,做了这个配置会降低性能。 testOnReturn 配置项 testOnReturn 配置项用于指定归还连接时执行 validationQuery 检测连接是否有效,做了这个配置会降低性能。 testWhileIdle 配置项 testWhileIdle 配置项用于指定建议配置为 true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于 timeBetweenEvictionRunsMillis,执行 validationQuery 检测连接是否有效。 timeBetweenEvictionRunsMillis 配置项 timeBetweenEvictionRunsMillis 配置项有两个含义:1) Destroy 线程会检测连接的间隔时间 2) testWhileIdle 的判断依据,详细看 testWhileIdle 属性的说明。 numTestsPerEvictionRun 配置项 numTestsPerEvictionRun 配置项已经不再使用,一个 DruidDataSource 只支持一个 EvictionRun。 minEvictableIdleTimeMillis 配置项 minEvictableIdleTimeMillis 配置项用于指定连接池中连接的最小空闲时间。 connectionInitSqls 配置项 connectionInitSqls 配置项用于指定物理连接初始化的时候执行的 SQL。 exceptionSorter 配置项 exceptionSorter 配置项用于指定根据 dbType 自适应的异常处理机制。
- 粉丝: 3
- 资源: 915
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助