连接池

SpringBoot学习(五)—— springboot快速整合Druid

穿精又带淫゛_ 提交于 2019-11-26 18:54:10
Druid连接池 简介 由阿里巴巴开源的druid连接池是目前综合实力最突出的数据库连接池,而且还提供了监控日志功能,能够分析SQL执行情况。 引入druid连接池 pom.xml中加入 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.21</version> </dependency> application.properties中加入 # druid spring.datasource.type=com.alibaba.druid.pool.DruidDataSource # 连接池初始化大小,最小,最大 spring.datasource.initialSize=10 spring.datasource.minIdle=10 spring.datasource.maxActive=30 # 连接等待超时时间 spring.datasource.maxWait=60000 # 多久检测需要关闭的空闲连接 spring.datasource.timeBetweenEvictionRunsMillis=60000 # 一个连接在池中最小生存的时间 spring.datasource.minEvictableIdleTimeMillis=300000 #

node mysql连接池实例

ぃ、小莉子 提交于 2019-11-26 16:59:55
正常node连接数据库是通过mysql这个包来实现 mysql的地址: https://www.npmjs.com/package/mysql 使用实例: var mysql=require('mysql') mysqlConfig={ host:'', user:'byt', password:'', database:'byt_crops_tracker'} var connection=mysql.createConnection(mysqlConfig) connection.connect(); var baseInfoSqlFun={}; baseInfoSqlFun.getSeedBaseInfoCount=function(){ // debugger return new Promise(function (resolve, reject) { // debugger connection.query('select count(*) as count from seed_base_info',function (error,results,fields) { // debugger if (error){reject(error)} else {resolve(results)}; // debugger connection.end() console.log

003-结构型-07-享元模式(Flyweight)

◇◆丶佛笑我妖孽 提交于 2019-11-26 14:24:56
一、概述   提供了减少对象数且从而改善应用所需的对象结构的方式。运用共享技术有效地支持大是细粒度的对象。   它通过与其他类似对象共享数据来减小内存占用。它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。   使用共享对象的方法,用来尽可能减少内存使用量以及分享资讯。通常使用工厂类辅助,不需要多次创建重复实例。   享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。 1.1、适用场景   常常应用于系统底层的开发,以便解决系统的性能问题。   系统有大量相似对象、需要缓冲池的场景。 比如:String常量池、Integer常量池、数据库连接池、线程池 1.2、优缺点 优点: 减少对象的创建,降低内存中对象的数量,降低系统的内存,提高效率 减少内存之外的其他资源占用 缺点: 关注内/外部状态、关注线程安全问题 使系统、程序的逻辑复杂化 模式对比 享元模式和代理模式 代理模式生成的代理类,可以使用享元模式来生成代理类。 享元模式和单例模式 享元模式可以再次创建对象,也可以取缓存对象。单例模式则是严格控制只有一个实例对象。

【Python数据库连接池基本用法】 -- 2019-08-08 17:25:24

你。 提交于 2019-11-26 13:46:27
目录 基本用法 自制sqlhelper 原创: http://106.13.73.98/__/121/ @(Python数据库连接池) 确保已安装: pip install DBUtils *** 基本用法 先准备些数据 # 建了个表 create table userinfo( id int, name varchar(32), age int(3) ); # 插入记录 insert into userinfo values (1, 'user01', 21), (2, 'user02', 22), (3, 'user03', 23), (4, 'user04', 24); 创建使用数据库连接池 import pymysql from DBUtils.PooledDB import PooledDB, SharedDBConnection POOL = PooledDB( creator=pymysql, # 使用连接数据库的膜拜 maxconnections=6, # 连接池允许的最大连接数,0和None表示不限制连接数 mincached=2, # 初始化时,连接池中至少创建的空闲的连接,0表示不创建 maxcached=5, # 连接池中最多闲置的连接,0和None表示不限制 maxshared=3, # 连接池中最多共享的连接数量,0和None表示全部共享

(二)MVC项目+c3p0连接池

拜拜、爱过 提交于 2019-11-26 12:11:15
一.项目架构 注:删除了原有的数据库工具,添加了c3p0数据库工具类,添加了c3p0的配置文件,修改了Dao类以及servlet类 二.修改或添加的类 1.C3p0Helper(暂时不了解事务回滚之类的怎么用或者有什么用,只用了连接和关闭) package helper; import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; public class C3p0Helper { private static String configName = "mysql"; //如果无参,则使用c3p0-config.xml中的default-config,该处使用mysql的配置 private static DataSource ds = new ComboPooledDataSource(configName); /** * 它为null表示没有事务 * 它不为null表示有事务 * 当开启事务时,需要给它赋值 * 当结束事务时,需要给它赋值为null * 并且在开启事务时,让dao的多个方法共享这个Connection */ private static

2019最新Activiti6.0流程引擎介绍

我只是一个虾纸丫 提交于 2019-11-26 09:38:46
Activiti流程引擎配置 流程引擎配置类的作用  ProcessEngineConfiguration   查找并解析xml配置文件activiti.xml   提供多个静态方法提供配置对象   实现基于几个不同场景的子类,配置方式非常灵活 流程引擎配置xml  activiti.cfg.xml 静态方法创建配置对象 流程引擎配置及子类  ProcessEngineconfiguration   ProcessEengineConfigurationImpl  Standalone ProcessEngineConfiguration 数据库配置  缺省配置默认,使用H2内存数据库  配置JDBC属性,使用MyBatis提供的连接池  配置DataSource,可选第三方实现 配置JDBC属性,使用MyBatis提供的连接池 数据源配置   Druid:为监控而生的数据库连接池,来自阿里   Dbcp:老牌的数据库连接池,稳定可靠,Tomcat自带   HikeriCP:来自日本的急速数据源连接池,Spring默认 支持的数据库类型  配置database Type 数据库更新策略:   配置databaseSchemaUpdate   false:启动时检查数据库版本,发生不匹配抛异常    true:启动时自动检查并更新数据库表,不存在会创建    create-drop

SQLAlchemy session 使用问题

我是研究僧i 提交于 2019-11-25 23:01:48
SQLAlchemy session 使用问题 在更改 SQLAlchemy Session 从每次请求都创建到共享同一个 Session 之后遇到了如下问题: StatementError: (sqlalchemy.exc.InvalidRequestError) Can’t reconnect until invalid transaction is rolled back [SQL: ] 或者是 raised unexpected: OperationalError(“(_mysql_exceptions.OperationalError) (2006, ‘MySQL server has gone away’)”,) 错误是 SQLAlchemy 抛出。原因是你从 pool 拿的 connection 没有以 session.commit 或 session.rollback 或者 session.close 放回 pool 里。这时 connection 的 transaction 没有完结(rollback or commit)。 而不知什么原因(recyle 了,timeout 了)你的 connection 又死掉了,你的 sqlalchemy 尝试重新连接。由于 transaction 还没完结,无法重连。 正确用法是确保 session 在使用完成后用