Python3 实现MySQL的数据库连接池及应用 DBUtils库

环境Python3.6下 使用DBUtils库实现MySQL的数据库连接池应用
参考文章:
http://blog.csdn.net/zbc1090549839/article/details/51336458
https://blog.csdn.net/daerzei/article/details/83865325


数据库连接池

先来看 连接池 的概念,引自百度百科:

数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

我们为什么要使用 数据库连接池?

我们在进行数据库的连接及诸如查询/插入/更新等操作时,每次连接mysql数据库都是独立的去请求访问,相当浪费资源,而且访问数量达到一定数量时,对mysql的性能会产生较大的影响,从而导致资源泄露等问题。

因此,在实际使用中通常会用数据库的连接池技术,来访问数据库达到资源复用的目的。

数据库连接池的工作流程:

  1. 应用启动时,根据配置的最小连接数,在连接池将创建此数目的数据库连接放到池中。

  2. 应用访问时,首先查看连接池中是否有空闲连接,如果存在空闲连接,则将连接分配给客户使用;如果没有空闲连接,则查看当前所开的连接数是否已经达到最大连接数,如果没达到就重新创建一个连接给请求的客户;如果达到就按设定的最大等待时间进行等待,如果超出最大等待时间,则抛出异常给客户。 当客户释放数据库连接时,先判断该连接的引用次数是否超过了规定值,如果超过就从连接池中删除该连接,否则保留等待再次使用。

  3. 应用关闭时,关闭池中所有连接,释放所有资源。

数据库连接池工作示意图


常用连接池的模块 DBUtils

安装 DBUtils:
pip install DBUtils

我们用PyMySQL包作为连接MySQL的驱动,因此也要安装PyMySQL:
pip install PyMySQL


DBUtil

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值