Python数据库连接池中两个模块的具体应用

开发 后端
本文主要介绍的是Python数据库连接池中可供我们选择的有两个模块的代码以及实际相关应用方案的介绍,希望你会有所收获。

如果你对Python数据库连接池有相关的实际操作步骤的了解,那你是否了解Python数据库连接池供我们选择的有两个模块的具体实际应用方案的相关步骤呢?如故你想在此方面有所收获的话,你就可以点击以下的文章。

Python数据库连接池目前供我们选择的有两个模块:

PersistentDB 和 PooledDB 都是为了重用数据库连接来提高性能,并保持数据库的稳定性。

所以选择何种模块,可以参考上面的解释。 PersistentDB 将会保持一定数量的连接供频繁使用。在这种情况下你总是保持固定数量的连接。如果你的程序频繁的启动和关闭线程,***使用 PooledDB 。后面将会提到更好的调整,尤其在使用线程安全的DB-API 2模块时。

当然,这两个模块的接口是很相似的,你可以方便的在他们之间转换,并查看哪个更好一些。为了使用 PersistentDB 你首先需要通过创建 PersistentDB 的实例来设置一个特定数据库连接的生成器,床底如下参数:

creator: 可以使用任意返回 DB-API 2 连接对象的函数活 DB-API 2 兼容的数据库模块。maxusage: 一个连接***允许复用次数(缺省为 0 或 False 意味着无限制的重用),当达到限制时,将会重新连接数据库setsession: 一个可选的SQL命令列表可以用于准备会话,如

  1. ["set datestyle to german", ...] 

creator 函数或生成 DB-API 2 连接的函数,可以接受这里的附加参数,比如主机名、数据库、用户名、密码等等。你也可以选择传递给 creator 的其他参数,并允许提供失败重连和负载均衡。

为了使用 PooledDB 模块,你首先需要通过创建 PooledDB 来设置Python数据库连接池,传递如下参数:

creator: 可以生成 DB-API 2 连接的任何函数或 DB-API 2 兼容的数据库连接模块。mincached : 启动时开启的空连接数量(缺省值 0 意味着开始时不创建连接)maxcached: 连接池使用的最多连接数量(缺省值 0 代表不限制连接池大小)maxshared: ***允许的共享连接数量(缺省值 0 代表所有连接都是专用的)如果达到了***数量,被请求为共享的连接将会被共享使用。

maxconnections: ***允许连接数量(缺省值 0 代表不限制)blocking: 设置在达到***数量时的行为(缺省值 0 或 False 代表返回一个错误;其他代表阻塞直到连接数减少)
maxusage: 单个连接的***允许复用次数(缺省值 0 或 False 代表不限制的复用)。当达到***数值时,连接会自动重新连接(关闭和重新打开)

setsession: 一个可选的SQL命令列表用于准备每个会话,如

  1. ["set datestyle to german", ...] 

creator 函数或可以生成连接的函数可以接受这里传入的其他参数,例如主机名、数据库、用户名、密码等。你还可以选择传入creator函数的其他参数,允许失败重连和负载均衡。
 

以上文章就是对Python数据库连接池供我们选择的有两个模块的实际应用的部分介绍。

【编辑推荐】

  1. Python编程语言的实现内幕的相关介绍
  2. Python数据结构如何进行内建详解
  3. 对python脚本语言在实际应用的优点介绍
  4. 对Python编程语言历史发展的介绍
  5. Python矩阵转置的实际应用操作方案与代码详解
责任编辑:佚名 来源: 互联网
相关推荐

2010-03-18 15:09:15

python数据库连接

2010-03-18 14:39:55

Python数据库连接

2019-10-21 09:50:09

连接池参数路由

2017-06-22 14:13:07

PythonMySQLpymysqlpool

2009-06-24 07:53:47

Hibernate数据

2010-04-06 18:04:09

Oracle数据库

2011-04-15 10:21:07

Oracle数据库运算

2019-11-27 10:31:51

数据库连接池内存

2009-07-22 11:45:43

2011-07-27 10:03:22

2010-03-18 14:55:17

Python数据库连接

2018-10-10 14:27:34

数据库连接池MySQL

2011-03-11 15:49:52

Oracle数据库

2010-03-17 13:46:55

Python sock

2009-06-16 09:25:31

JBoss配置

2011-05-19 09:53:33

数据库连接池

2018-01-03 14:32:32

2009-07-17 13:32:49

JDBC数据库

2010-07-06 12:34:28

SQL Server数

2010-07-08 13:48:38

同步两个SQLServ
点赞
收藏

51CTO技术栈公众号