天天看點

python資料庫連接配接池_Python資料庫連接配接池執行個體——PooledDB

不用連接配接池的MySQL連接配接方法

python資料庫連接配接池_Python資料庫連接配接池執行個體——PooledDB

import 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()

python資料庫連接配接池_Python資料庫連接配接池執行個體——PooledDB

用連接配接池後的連接配接方法

python資料庫連接配接池_Python資料庫連接配接池執行個體——PooledDB

import MySQLdb

from DBUtils.PooledDB import PooledDB

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()

python資料庫連接配接池_Python資料庫連接配接池執行個體——PooledDB

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