基于pymysql的数据库连接池
pymysql-pooling的Python项目详细描述
pymysqlpool
pymysql pool是一个基于pymysql的数据库连接池,简单而轻量级。
目录
功能
- 默认情况下,保持连接池的最小数量。
- 如果未使用的连接数小于零,则动态地将连接添加到池中,直到当前数量的UnE连接等于池的最大值。
- 定期释放空闲连接,直到未使用的连接数等于池的最小值。
- 支持自动提交模式。
- 支持ping check以获得正常连接。
要求
- Python
- cpython:>;=3.4
- MySQL服务器--下列之一:
- MySQL=5.5
- Mariadb=5.5
- pymysql:>;=0.9.2
安装
包上载于PyPI
您可以使用pip进行安装
$ pip install pymysql-pooling
示例
使用一个简单的表(例如MySQL doc)
mysql>CREATETABLEpet(nameVARCHAR(20),ownerVARCHAR(20),->speciesVARCHAR(20),sexCHAR(1),birthDATE,deathDATE);mysql>INSERTINTOpet->VALUES("Puffball","Diane","hamster","f","1999-03-30",NULL);
frompymysqlpool.poolimportPoolpool=Pool(host=HOST,port=PORT,user=USER,password=PASSWORD,db=DB)pool.init()connection=pool.get_conn()cur=connection.cursor()cur.execute('SELECT * FROM `pet` WHERE `name`=%s',args=("Puffball",))print(cur.fetchone())pool.release(connection)
此示例将打印:
('Puffball', 'Diane', 'hamster', 'f', datetime.date(1999, 3, 30), None)
支持自动提交模式,如下所示:
pool=Pool(host=HOST,port=PORT,user=USER,password=PASSWORD,db=DB,autocommit=True)
就这些。
路线图
- [X]连接池
- [X]动态创建
- [X]动态释放
- []监控Web界面
资源
许可证
pymysqlpool是根据mit许可证发布的。有关详细信息,请参见许可证。
贡献
感谢您对pymysqlpool的贡献感兴趣,您的帮助和贡献非常宝贵。
您可以提交问题和请求,请在提交请求前提交问题。