python连接池 excel_Python数据库连接池实例——PooledDB

MySQLdb

conn= MySQLdb.connect(host=‘localhost‘,user=‘root‘,passwd=‘pwd‘,db=‘myDB‘,port=3306)

cur=conn.cursor()

SQL="select * from table1"r=cur.execute(SQL)

r=cur.fetchall()

cur.close()

conn.close()

用连接池后的连接方法

importMySQLdbfrom DBUtils.PooledDB importPooledDB

pool= PooledDB(MySQLdb,5,host=‘localhost‘,user=‘root‘,passwd=‘pwd‘,db=‘myDB‘,port=3306) #5为连接池里的最少连接数conn= pool.connection() #以后每次需要数据库连接就是用connection()函数获取连接就好了

cur=conn.cursor()

SQL="select * from table1"r=cur.execute(SQL)

r=cur.fetchall()

cur.close()

conn.close()PooledDB的参数:

1. mincached,最少的空闲连接数,如果空闲连接数小于这个数,pool会创建一个新的连接

2. maxcached,最大的空闲连接数,如果空闲连接数大于这个数,pool会关闭空闲连接

3. maxconnections,最大的连接数,

4. blocking,当连接数达到最大的连接数时,在请求连接的时候,如果这个值是True,请求连接的程序会一直等待,直到当前连接数小于最大连接数,如果这个值是False,会报错,

5. maxshared 当连接数达到这个数,新请求的连接会分享已经分配出去的连接

在uwsgi中,每个http请求都会分发给一个进程,连接池中配置的连接数都是一个进程为单位的(即上面的最大连接数,都是在一个进程中的连接数),而如果业务中,一个http请求中需要的sql连接数不是很多的话(其实大多数都只需要创建一个连接),配置的连接数配置都不需要太大。

连接池对性能的提升表现在:

1.在程序创建连接的时候,可以从一个空闲的连接中获取,不需要重新初始化连接,提升获取连接的速度

2.关闭连接的时候,把连接放回连接池,而不是真正的关闭,所以可以减少频繁地打开和关闭连接转:http://www.cnblogs.com/Xjng/p/3437694.html

Python数据库连接池实例——PooledDB

标签:mda   cut   ash   exe   mysqldb   padding   top   min   htm

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/zoro-robin/p/6852427.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值