连接器/ Python连接池

来源:互联网 发布:老滚5捏脸数据导入 编辑:程序博客网 时间:2024/05/16 00:49

MySQL连接器/ Python 1.1.1和支持简单的连接池,这些特点:

的 mysql.connector.pooling模块实现池。

池打开和处理线程安全的连接数为请求者提供连接。

连接池的大小是可配置池创建时间。它不能被调整大小。

连接池可以叫池创建时间。如果没有名字,一个是使用连接参数来生成的。

连接池名称可以从连接池中检索获得的或连接。

可以有多个连接池。这使用程序能够支持不同的MySQL服务器的连接池,例如。

对于每个连接请求,提供下一个可用的连接池。没有循环使用或其他调度算法。如果池是筋疲力尽, PoolError是提高。

可以重新配置连接参数使用的池。这些适用于从池中获取连接。重新配置个人从池中获取连接通过调用连接 config()不支持方法。

应用程序可以从连接池中受益的能力包括:

中间件维护多个连接到多个MySQL服务器,需要连接一应俱全。

网站可以有更多 “永久”连接到MySQL服务器开放。

连接池可以隐式或显式地创建。

创建一个连接池隐式:打开一个连接,并指定一个或多个池有关的参数(pool_name, pool_size)。例如:

dbconfig = {
“database”: “test”,
“user”: “joe”
}

cnx = mysql.connector.connect(pool_name = “mypool”,
pool_size = 3,
**dbconfig)
池名称仅限于字母数字字符和特殊字符 ., _, *, $, #。必须不超过池名称 pooling.CNX_POOL_MAXNAMESIZE64字符(默认)。

池的大小必须大于0小于 pooling.CNX_POOL_MAXSIZE(默认32)。

用的 pool_name或 pool_size论点,连接器/ Python创建新池。如果 pool_name参数不是给定的, connect()电话自动生成名称、由哪个的 host, port, user, database连接参数给出,这个顺序。如果 pool_size参数不是给定的,默认大小是5连接。

随后的调用 connect()这个名字相同的从现有连接池返回连接池。任何 pool_size或连接参数参数被忽略,所以以下 connect()相当于原来的电话 connect()前面所示:

cnx = mysql.connector.connect(pool_name = “mypool”, pool_size = 3)
cnx = mysql.connector.connect(pool_name = “mypool”, **dbconfig)
cnx = mysql.connector.connect(pool_name = “mypool”)
连接池通过调用获得的 connect()池有关的论点有类 PooledMySQLConnection(见10.4节,“池。PooledMySQLConnection阶级”). PooledMySQLConnection池连接对象是相似的 MySQLConnection未共享连接对象,这些差异:

发布一个合用的连接从连接池中获得,调用它 close()法,就像为任何未共享连接。然而,对于一个合用的连接, close()实际上并没有关闭连接而返回到池中,使它可用于随后的连接请求。

池连接不能使用它的重新配置 config()方法。连接池变化必须通过对象本身,将在稍后介绍。

一个合用的连接 pool_name属性返回池名称。

显式地创建一个连接池:创建一个 MySQLConnectionPool对象(如10.3节,“池。MySQLConnectionPool阶级”):

dbconfig = {
“database”: “test”,
“user”: “joe”
}

cnxpool = mysql.connector.pooling.MySQLConnectionPool(pool_name = “mypool”,
pool_size = 3,
**dbconfig)
从池中请求连接,使用它 get_connection()方法:

cnx1 = cnxpool.get_connection()
cnx2 = cnxpool.get_connection()
当您显式地创建一个连接池,可以使用接池对象的 set_config()方法重新配置连接池参数:

dbconfig = {
“database”: “performance_schema”,
“user”: “admin”,
“password”: “secret”
}

cnxpool.set_config(**dbconfig)
从池中连接请求的配置更改后使用新的参数。连接前获得改变不受影响,但当他们关闭(返回到池)重新使用新的参数之前为后续连接请求返回的池。

0 0