基于pymysql的数据库连接池

pymysql-pooling的Python项目详细描述


pymysqlpool

build statuscodecovpip versionlicense

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的贡献感兴趣,您的帮助和贡献非常宝贵。

您可以提交问题和请求,请在提交请求前提交问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将字符串转换为自定义对象   java如何从socket方法获取数据?   Java中的soap读取回车和新行   java在单击时替换图像   java推荐的使用RXJava执行异步任务的方法   java MySql连接器JDBC驱动程序不支持连接池吗?   java将活动堆栈清理到顶部   java计数用户输入的数量   java从webservice下载大文件导致应用程序性能问题   JavaLocalDate。EPOCH不可用   java如何在使用Selenium等待一定时间后,在页面无法加载(get(url))时自动刷新页面   java Calendar setLenient方法不允许检查年份字段的健全性   java Eclipse和intelliJ 安卓 SDK问题   java为什么我可以在没有super关键字的情况下调用父方法?   java iText的PDF格式不好