连接池

go 数据库相关

不羁的心 提交于 2019-11-29 01:49:48
golang内部自带了连接池功能,所以只需要全局创建单例的db就可以了 创建连接池 创建db后并不需要自己去使用db.Close()去关闭,虽然提供了这样关闭方法但是完全不需要使用。 只要像下面这样创建连接就可以直接使用,如果非要使用关闭,那么可以在信号signal 部分去关闭系统的资源。 var DB *sql.DB func init() { db, _ = sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/test?charset=utf8") db.SetMaxOpenConns(2000) db.SetMaxIdleConns(1000) db.Ping() } SetMaxOpenConns用于设置最大打开的连接数,默认值为0表示不限制。 SetMaxIdleConns用于设置闲置的连接数。 参考 golang go-sql-drive mysql连接池的实现 来源: oschina 链接: https://my.oschina.net/u/1992048/blog/778647

MyBatis连接池分析

女生的网名这么多〃 提交于 2019-11-29 01:48:48
连接池 在实际的开发当中,我们很多的对数据库的操作的时候都是用到连接池的,数据库的连接池它可以减少我们获取数据库连接的时间。 MyBatis连接池 在mybatis中给我们提供了三种数据库的连接方式 POOLED 用的是DataSource规范的连接池 UNPOOLED 使用的传统的获取连接的方式,没有使用池子的思想 JNDI 使用的是服务器提供的技术,来获取datasource对象,不同的服务器拿到的对象是不一样的,只能使用在web和maven的工程 在配置文件中配置数据库连接池的位置: 在主配置文件中的datasource标签中,type属性就是让你设置用那一种连接池 POOLED和UNPOOLED的区别 想必在家可以在名子上看的出来,一个是使用了连接池一个是没有使用连接池的。 那我就通过运行程序后来让大家看不这两者的区别 这里可以很好的看出使用了连接池的日志最后关闭的时候,系统都会将获取到的连接放回到连接池中,而使用了UNPOOLED方式的只会有一个创建连接的过程,并没有放回连接池。 这样就表示使用UNPOOLED每次都会创建一新的连接,使用POOLED时如果池子里面有连接那么便直接在池子里取出,在样大大的接省了创建连接的时间 UNPOOLED源码分析 我们可以看下这个的源码: 1 public Connection getConnection() throws

springboot之Redis的使用

青春壹個敷衍的年華 提交于 2019-11-29 01:36:34
spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化。 redis介绍 Redis是目前业界使用最广泛的内存数据存储。相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化。除此之外,Redis还提供一些类数据库的特性,比如事务,HA,主从库。可以说Redis兼具了缓存系统和数据库的一些特性,因此有着丰富的应用场景。本文介绍Redis在Spring Boot中两个典型的应用场景。 如何使用 1.引入 spring-boot-starter-redis <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency> 2.添加配置文件 # REDIS (RedisProperties) # Redis数据库索引(默认为0) spring.redis.database=0 # Redis服务器地址 spring.redis.host=192.168.1.111 # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空) spring.redis

Hibernate学习基本配置

匆匆过客 提交于 2019-11-29 00:49:39
hibernate是一个持久层框架,是一个ORM(object,relattional mapping)对象关系映射框架,对jdbc进行了轻量级对象框架。 所谓的对象关系映射是指,一个java对象和关系型数据库里的表简历一种映射关系,从而操作对象就可以操作表。 入门学习 所需jar包 创建实体类 创建映射 映射需要通过 XML 的配置文件来完成,这个配置文件可以任意命名。尽量统一命名规范(类名 .hbm.xml ) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.gream"> <!-- <建立类与表的映射> --> <class name="com.gream.Cstomer" table ="cst_customer" > <!--表主键和类关联 --> <id name="cust_id" column="cust_id" > <!--主键生成策略 --> <generator class="increment"

连接池

为君一笑 提交于 2019-11-28 20:53:27
连接池 定义:连接池(dataSource),也可以叫做数据源:所谓的池,就是在内存中开辟的一片空间,可以看作是一个容器,连接池就是接收连接的一个容器。 作用:减少连接数据库的创建和关闭,实现连接的复用来提高程序执行的效率。 传统不使用连接池访问数据库的弊端 需要访问数据库的时候才会创建连接,当访问数据库结束后又会将连接销毁; 而创建连接和销毁连接是很耗内存的和很耗时间,而使用连接的时间却又很短;所以运行效率很低。 使用连接池有说明好处 当程序启动时,会创建一个连接池,里面会事先创建多个连接,当需要连接数据库的时候,就会直接到连接池中取出一个连接来使用,结束后将线程归坏给连接池(close方法),实现了连接的复用;这样就省略了’创建连接‘和’销毁连接‘的步骤;提高了运行效率 连接池配置文件 在src根目录下创建file类型文件,名称为c3p0.properties 格式为: c3p0 . DriverClass = ( 包名 + 类名 ) c3p0 . JdbcUrl = jdbc : mysql : / / localhost : 端口号 / 数据库 ? characterEncoding = 编码 c3p0 . User = ( 数据库用户名 ) c3p0 . Password = ( 数据库密码 ) 在src根目录下创建XML File类型文件,名称为c3p0-config

SpringBoot整合Redisson(集群模式)

孤街浪徒 提交于 2019-11-28 20:37:00
环境:SpringBoot2.x maven增加配置 <!-- redis--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><!--springboot2.0的redis整合包多出lettuce连接池,需要增加commons-pool2包1.5的版本默认采用的连接池技术是jedis 2.0以上版本默认连接池是lettucespring boot 2.0 的操作手册有标注 大家可以去看看 地址是:https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/reference/htmlsingle--><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.4.2</version></dependency><dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.6.5<

Redis数据库连接,使用jedis

时光毁灭记忆、已成空白 提交于 2019-11-28 19:29:17
Redis数据库连接,使用jedis 前言: redis介绍,redis是开源免费的,遵守BSD协议,是一个高性能的key-value数据库 Redis 与其他key-value缓存产品有以下三个特点 redis支持数据的持久化,持久化的意思是可以将内存中的数据保存在磁盘中,重启可以再次使用。 Redis 不仅仅支持key- value类型的数据, 同时还提供了list,set zset,hash等数据存储结构 Redis 支持数据备份。Master-slave模式的数据备份 Redis的优势 性能比较高。Redis能读的数据是11万次每秒、写的速度是8万次每秒 数据类型支持,string,lists hashes sets 以及ordered sets数据类型操作 原子性,redis 所有操作都是原子性,与事务的原子性相同,要么成功,要么失败 安装 准备vm虚拟机。本地运行测试。 安装系统 centor 7 下载redis启动 下载 下载地址 : http://redis.io/download 选择最新稳定的下载。由于不能上图自己找下载量最多的即可 运行虚拟机登录,运行管理员sudo命令,如果你是子用户,为了打字方便,我默认为root用户 Wget http://download.redis.io/releases/redis-2.8.17 这个是你下载的版本.tar.gz

c3p0 连接池

霸气de小男生 提交于 2019-11-28 18:13:52
C3P0数据源   C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有 Hibernate,Spring 等。C3P0数据源在项目开发中使用得比较多。   c3p0与dbcp区别 dbcp没有自动回收空闲连接的功能 c3p0有自动回收空闲连接功能 创建 c3p0-config.xml: <?xml version="1.0" encoding="UTF-8"?> <!-- c3p0-config.xml必须位于类路径下面 --> <c3p0-config> <!-- C3P0的缺省(默认)配置, 如果在代码中“ComboPooledDataSource ds = new ComboPooledDataSource();”这样写就表示使用的是C3P0的缺省(默认)配置信息来创建数据源 --> <default-config> <property name="driverClass">com.mysql.cj.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/testsvnb?useSSL=false&serverTimezone=Hongkong&characterEncoding=utf-8

连接池c3p0

安稳与你 提交于 2019-11-28 18:12:37
连接池c3p0 C3P0:hibernate和spring使用,有自动回收空闲连接的功能. 使用步骤:   1.导入jar包(c3p0-0.9.1.2.jar)   2.使用api a.硬编码(不推荐)   new ComboPooledDataSource() 步骤:   1.创建一个DataSourse项目   2.新建一个包com.c3p0.hjh   3.编写一个类C3p0Test01.java   4.导包,lib下放入c3p0-0.9.2.1.jar和mchange-commons-java-0.2.3.4.jar;导完jar记得buildpath一下 代码执行前数据库数据: 代码执行后数据库数据: JDBCUtil.java工具类源码: package com.util.hjh; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCUtil { final static String driver = "com.mysql.jdbc