python中實現mysql串連池

來源:互聯網
上載者:User

標籤:擷取   blog   .com   串連數   cal   python   share   最大的   hal   

python中實現mysql串連池

import pymysqlfrom DBUtils.PooledDB import PooledDBLOCALHOST = ‘localhost‘USER = ‘root‘PASSWORD = ‘root‘DB = ‘python3‘PORT = 3306pool = PooledDB(pymysql, 5, host=LOCALHOST, user=USER, passwd=PASSWORD, db=DB, port=PORT)  # 5為串連池裡的最少串連數conn = pool.connection()  # 以後每次需要資料庫連接就是用connection()函數擷取串連就好了cur = conn.cursor()SQL = "select * from url_file_path500 limit 3"r = cur.execute(SQL)re = cur.fetchall()print(re)cur.close()conn.close()

  

PooledDB的參數:
1. mincached,最少的空閑串連數,如果空閑串連數小於這個數,pool會建立一個新的串連
2. maxcached,最大的空閑串連數,如果空閑串連數大於這個數,pool會關閉空閑串連
3. maxconnections,最大的串連數,
4. blocking,當串連數達到最大的串連數時,在請求串連的時候,如果這個值是True,請求串連的程式會一直等待,直到當前串連數小於最大串連數,如果這個值是False,會報錯,
5. maxshared 當串連數達到這個數,新請求的串連會分享已經分配出去的串連

在uwsgi中,每個http請求都會分發給一個進程,串連池中配置的串連數都是一個進程為單位的(即上面的最大串連數,都是在一個進程中的串連數),而如果業務中,一個http請求中需要的sql串連數不是很多的話(其實大多數都只需要建立一個串連),配置的串連數配置都不需要太大。
串連池對效能的提升表現在:
1.在程式建立串連的時候,可以從一個閒置串連中擷取,不需要重新初始化串連,提升擷取串連的速度
2.關閉串連的時候,把串連放回串連池,而不是真正的關閉,所以可以減少頻繁地開啟和關閉串連

詳見:
https://www.cnblogs.com/Xjng/p/3437694.html

python中實現mysql串連池

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.