亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Flask框架使用DBUtils模塊連接數據庫操作示例

2020-02-15 22:29:20
字體:
來源:轉載
供稿:網友

本文實例講述了Flask框架使用DBUtils模塊連接數據庫的操作方法。分享給大家供大家參考,具體如下:

Flask連接數據庫

數據庫連接池:

Django使用:django ORM(pymysql/MySqldb)

Flask/其他使用:

    -原生SQL
        -pymysql(支持python2/3)
        -MySqldb(支持python2)
    -SQLAchemy(ORM)

原生SQL

需要解決的問題:

        -不能為每個用戶創建一個連接
        -創建一定數量的連接池,如果有人來

使用DBUtils模塊

兩種使用模式:

    1 為每個線程創建一個連接,連接不可控,需要控制線程數
    2 創建指定數量的連接在連接池,當線程訪問的時候去取,如果不夠了線程排隊,直到有人釋放。平時建議使用這種?。?!

模式一:

import pymysqlfrom DBUtils.PersistentDB import PersistentDBPOOL = PersistentDB(  creator=pymysql, # 使用鏈接數據庫的模塊  maxusage=None, # 一個鏈接最多被重復使用的次數,None表示無限制  setsession=[], # 開始會話前執行的命令列表。如:["set datestyle to ...", "set time zone ..."]  ping=0, # ping MySQL服務端,檢查是否服務可用。# 如:0 = None = never, 1 = default = whenever it is requested, 2 = when a cursor is created, 4 = when a query is executed, 7 = always  closeable=False,  # 建議為False,如果為False時, conn.close() 實際上被忽略,供下次使用,再線程關閉時,才會自動關閉鏈接。如果為True時, conn.close()則關閉鏈接,那么再次調用pool.connection時就會報錯,因為已經真的關閉了連接(pool.steady_connection()可以獲取一個新的鏈接)  threadlocal=None, # 本線程獨享值得對象,用于保存鏈接對象,如果鏈接對象被重置  host='127.0.0.1',  port=3306,  user='root',  password='123',  database='pooldb',  charset='utf8')def func():  conn = POOL.connection(shareable=False)  cursor = conn.cursor()  cursor.execute('select * from tb1')  result = cursor.fetchall()  cursor.close()  conn.close()func()

模式二(推薦):

import timeimport pymysqlimport threadingfrom DBUtils.PooledDB import PooledDB, SharedDBConnectionPOOL = PooledDB(  creator=pymysql, # 使用鏈接數據庫的模塊  maxconnections=6, # 連接池允許的最大連接數,0和None表示不限制連接數  mincached=2, # 初始化時,鏈接池中至少創建的空閑的鏈接,0表示不創建  maxcached=5, # 鏈接池中最多閑置的鏈接,0和None不限制  maxshared=3, # 鏈接池中最多共享的鏈接數量,0和None表示全部共享。PS: 無用,因為pymysql和MySQLdb等模塊的 threadsafety都為1,所有值無論設置為多少,_maxcached永遠為0,所以永遠是所有鏈接都共享。  blocking=True, # 連接池中如果沒有可用連接后,是否阻塞等待。True,等待;False,不等待然后報錯  maxusage=None, # 一個鏈接最多被重復使用的次數,None表示無限制  setsession=[], # 開始會話前執行的命令列表。如:["set datestyle to ...", "set time zone ..."]  ping=0,  # ping MySQL服務端,檢查是否服務可用。# 如:0 = None = never, 1 = default = whenever it is requested, 2 = when a cursor is created, 4 = when a query is executed, 7 = always  host='127.0.0.1',  port=3306,  user='root',  password='123',  database='pooldb',  charset='utf8')def func():  # 檢測當前正在運行連接數的是否小于最大鏈接數,如果不小于則:等待或報raise TooManyConnections異常  # 否則  # 則優先去初始化時創建的鏈接中獲取鏈接 SteadyDBConnection。  # 然后將SteadyDBConnection對象封裝到PooledDedicatedDBConnection中并返回。  # 如果最開始創建的鏈接沒有鏈接,則去創建一個SteadyDBConnection對象,再封裝到PooledDedicatedDBConnection中并返回。  # 一旦關閉鏈接后,連接就返回到連接池讓后續線程繼續使用。  conn = POOL.connection()  # print(th, '鏈接被拿走了', conn1._con)  # print(th, '池子里目前有', pool._idle_cache, '/r/n')  cursor = conn.cursor()  cursor.execute('select * from tb1')  result = cursor.fetchall()  conn.close()func()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久av一区| 亚洲精品99久久久久中文字幕| 日韩av在线免费看| 久久久久久久香蕉网| 国产在线高清精品| 欧美孕妇性xx| 国产在线拍揄自揄视频不卡99| 亚洲网站在线看| 91在线网站视频| 久久精品国产亚洲一区二区| 91精品国产自产在线| 欧美日本在线视频中文字字幕| 日韩精品丝袜在线| 国模叶桐国产精品一区| 精品国内亚洲在观看18黄| 欧美精品一区二区三区国产精品| 亚洲美女又黄又爽在线观看| 91社影院在线观看| 成人午夜小视频| 亚洲成人激情图| 亚洲第一区中文99精品| 亚洲精品欧美日韩| 91精品在线国产| 国产亚洲欧洲高清一区| 日韩精品999| 98精品国产自产在线观看| 国产成人+综合亚洲+天堂| 久久久久久高潮国产精品视| 亚洲欧洲日产国产网站| 欧美激情精品久久久| 欧美一区深夜视频| 久久久久女教师免费一区| 国产精品久久999| 亚洲精品一区中文| 中文字幕一区二区精品| 亚洲精品720p| 国产大片精品免费永久看nba| 欧美激情女人20p| 久久亚洲国产成人| 国模吧一区二区三区| 欧美日韩亚洲激情| 日韩av免费网站| 91在线高清免费观看| 欧美性xxxx18| 国产精品成人一区| 91精品综合久久久久久五月天| 日韩欧美亚洲一二三区| 国产精品久久久久一区二区| 狠狠综合久久av一区二区小说| 久久夜色精品国产亚洲aⅴ| 92看片淫黄大片欧美看国产片| 91探花福利精品国产自产在线| 欧美精品情趣视频| 成人免费观看网址| 97国产一区二区精品久久呦| 国产精品久久久久久网站| 欧美日韩xxxxx| 欧美丰满少妇xxxxx| 中文字幕免费精品一区高清| 中文字幕欧美国内| 国产日产欧美a一级在线| 亚洲午夜激情免费视频| 久久久成人精品视频| 久久99精品久久久久久噜噜| 亚洲激情国产精品| 成人国产在线视频| 日韩在线视频国产| 亚洲精品动漫100p| 丝袜情趣国产精品| 国产精品白嫩初高中害羞小美女| 成人高h视频在线| 国产做受高潮69| 欧美孕妇与黑人孕交| 91久久久久久久久久久久久| 日韩欧亚中文在线| 亚洲人成网7777777国产| 青草热久免费精品视频| 最近2019中文字幕在线高清| 国产精品美女在线观看| 国产精品嫩草影院久久久| 欧美激情视频网站| 欧美第一黄色网| 欧美亚洲一区在线| 午夜精品久久久久久99热软件| 伊人激情综合网| 成人欧美在线视频| 久久人体大胆视频| 亚洲国产成人精品电影| 亚洲区免费影片| 在线亚洲国产精品网| 欧洲永久精品大片ww免费漫画| 最新69国产成人精品视频免费| 国产精品爱啪在线线免费观看| 国产成人久久久| 日本精品一区二区三区在线播放视频| 国产成人极品视频| 黑人狂躁日本妞一区二区三区| 日韩少妇与小伙激情| 欧美成人精品不卡视频在线观看| 国内精品久久久久| 亚洲精品久久久久中文字幕二区| 欧美成aaa人片在线观看蜜臀| 俺去了亚洲欧美日韩| 97精品一区二区三区| 日韩av免费一区| 亚洲石原莉奈一区二区在线观看| 成人在线国产精品| 亚洲www在线观看| 亚洲综合精品一区二区| 国产精品777| 国产主播精品在线| 91成人免费观看网站| 国产精品户外野外| 亚洲日本欧美日韩高观看| 日本欧美黄网站| 亚洲香蕉成视频在线观看| 国产成人av在线| 少妇久久久久久| 亚洲新声在线观看| 中文字幕在线观看亚洲| 亚洲国产精品va在线观看黑人| 国内伊人久久久久久网站视频| 日韩欧美精品免费在线| 久久99热这里只有精品国产| 亚洲色图综合网| 久久伊人色综合| 国产97人人超碰caoprom| 久久精品免费电影| 中文在线资源观看视频网站免费不卡| 国产精品久久久999| 午夜精品一区二区三区在线| 欧美一区二区三区免费视| 在线观看亚洲视频| 最近2019中文字幕mv免费看| 国产精品久久久久av| 欧美激情免费在线| 欧美精品亚州精品| 精品中文字幕在线| 国产激情999| 成人免费视频在线观看超级碰| 国产精品视频白浆免费视频| 这里只有精品在线播放| 亚洲专区在线视频| 亚洲综合自拍一区| 久久久久久久999精品视频| 高清一区二区三区日本久| 精品视频久久久| 136fldh精品导航福利| 国产精品国产三级国产aⅴ浪潮| 欧美电影在线观看高清| 国产精品欧美一区二区| 欧美xxxwww| 成人免费看吃奶视频网站| 日韩av中文字幕在线播放| 亚洲国产欧美一区二区丝袜黑人| 国产97在线|日韩| 久久久免费高清电视剧观看| 92国产精品视频| 在线观看视频99| 久久99视频精品| 亚洲国产精品va在线看黑人| 国产在线精品一区免费香蕉| 色七七影院综合| 狠狠久久五月精品中文字幕|