【python】数据库连接池---PooledDB

更新时间:2023-05-12 01:44:17 阅读: 评论:0

【python】数据库连接池---PooledDB
不⽤数据库连接池的写法:
import MySQLdb
conn= t(host='localhost',ur='root',passwd='pwd',db='myDB',port=3306)
cur=conn.cursor()
SQL="lect*from table1"
ute(SQL)
r=cur.fetchall()
cur.clo()
conn.clo()
使⽤ PooledDB
from DBUtils.PooledDB import PooledDB
import pymysql
import xlwt
import os
import threading
import zipfile
class CreateExcel(object):
"""
查询数据库,并⽣成excel ⽂档
"""
def __init__(lf, mysql_info):
lf.pool = PooledDB(pymysql, 5, sql_info['host'], sql_info['ur'],
sql_info['password'], sql_info['db'], sql_info['port'],
chart='utf-8')
连接参数定义:
1. mincached,最少的空闲连接数,如果空闲连接数⼩于这个数,pool会创建⼀个新的连接
2. maxcached,最⼤的空闲连接数,如果空闲连接数⼤于这个数,pool会关闭空闲连接
3. maxconnections,最⼤的连接数,
4. blocking,当连接数达到最⼤的连接数时,在请求连接的时候,如果这个值是True,请求连接的程序会⼀直等待,直到当前连接数⼩于最⼤连接
数,如果这个值是Fal,会报错,
5. maxshared 当连接数达到这个数,新请求的连接会分享已经分配出去的连接
这⾥的 5  应该是默认的连接数吧
在uwsgi中,每个http请求都会分发给⼀个进程,连接池中配置的连接数都是⼀个进程为单位的(即上⾯的最⼤连接数,都是在⼀个进程中的连接数),⽽如果业务中,⼀个连接池对性能的提升表现在:
1.在程序创建连接的时候,可以从⼀个空闲的连接中获取,不需要重新初始化连接,提升获取连接的速度
2.关闭连接的时候,把连接放回连接池,⽽不是真正的关闭,所以可以减少频繁地打开和关闭连接

本文发布于:2023-05-12 01:44:17,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/593112.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:连接   进程   时候
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图