通常,如果我們的服務涉及到mysql的操作,當乙個新的請求進來的時候,可以先連線mysql, 使用完之後再斷開連線即可。
但這樣做有個弊端,當請求量巨大時,會在瞬間有大量的資料庫連線與斷開操作,這是非常影響 mysql 效能的做法。此時,我們就需要使用mysql連線池。
在 python 服務中使用 mysql 連線池
1、建立連線池,sqllib.py
import pymysql
from dbutils.pooleddb import pooleddb
import config
class mysqlpool():
__pool = none
def __init__(self):
self.conns = self.getpools()
def getpools(self):
__pool = pooleddb(
creator=pymysql,
mincached=1,
maxcached=20,
host=config.host,
user=config.user,
passwd=config.password,
db=config.dbname,
port=config.port,
charset=config.charset
return __pool
mincached: 最小空閒連線數
maxcached: 最大空閒連線數
maxconnections: 最大允許連線數
2、使用連線池,server.py
from sqllib import mysqlpool
pool = mysqlpool()
def test():
db = pool.conns.connection()
processing()
db.close()
db = pool.conns.connection()
從連線池中獲取乙個連線
db.close()
連線使用完畢,將連線放回連線池。
七 mysql連線池
資料儲存到資料庫中,當然少不了獲取連線及執行sql 使用連線池,獲取連線 classmethod defgetconnection cls return 返回乙個資料庫連線的例項 logger logging.getlogger mylogger.myutil.myutil try if myuti...
mysql資料連線池
示例 usr bin python coding utf 8 time 2017 11 21 0021 10 52 author liaochao file demo2.py import mysqldb from dbutils.pooleddb import pooleddb db config...
MySQL連線池詳解
使用場景 資料庫連線是一種關鍵的 有限的 昂貴的資源,這一點在多使用者的網頁應用程式中體現得尤為突出。對資料庫連線的管理能顯著影響到整個應用程式的伸縮性和健壯性,影響到程式的效能指標。資料庫連線池正是針對這個問題提出來的。原理連線池基本的思想是在系統初始化的時候,將資料庫連線作為物件儲存在記憶體中,...