【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)sport
r=cur.fetchall()
cur.clo()
conn.clo()
使⽤ PooledDB
from DBUtils.PooledDB import PooledDB
import pymysql
import xlwt
import os
borough
import threading
import zipfile
class CreateExcel(object):
"""
查询数据库,并⽣成excel ⽂档
"""
def __init__(lf, mysql_info):kpp
veyron
lf.pool = PooledDB(pymysql, 5, sql_info['host'], sql_info['ur'],ason怎么读
sql_info['password'], sql_info['db'], sql_info['port'],tenderness
chart='utf-8')
连接参数定义:gre阅读
1. mincached,最少的空闲连接数,如果空闲连接数⼩于这个数,pool会创建⼀个新的连接
2. maxcached,最⼤的空闲连接数,如果空闲连接数⼤于这个数,pool会关闭空闲连接
道歉英文3. maxconnections,最⼤的连接数,
4. blocking,当连接数达到最⼤的连接数时,在请求连接的时候,如果这个值是True,请求连接的程序会⼀直等待,直到当前连接数⼩于最⼤连接
数,如果这个值是Fal,会报错,
5. maxshared 当连接数达到这个数,新请求的连接会分享已经分配出去的连接
这⾥的 5 应该是默认的连接数吧
在uwsgi中,每个http请求都会分发给⼀个进程,连接池中配置的连接数都是⼀个进程为单位的(即上⾯的最⼤连接数,都是在⼀个进程中的连接数),⽽如果业务中,⼀个连接池对性能的提升表现在:
英语口语学习1.在程序创建连接的时候,可以从⼀个空闲的连接中获取,不需要重新初始化连接,提升获取连接的速度
2.关闭连接的时候,把连接放回连接池,⽽不是真正的关闭,所以可以减少频繁地打开和关闭连接
the怎么读音