Python+Pymysql+PooledDB实现数据库连接池
import pymysql
from DBUtils.PooledDB import PooledDB
# 配置数据库连接信息
POOL = PooledDB(
creator=pymysql, # 使用链接数据库的模块
maxconnections=6, # 连接池允许的最大连接数
mincached=2, # 初始化时,链接池中至少创建的空闲的链接
maxcached=5, # 链接池中最多闲置的链接
maxshared=3, # 链接池中最多共享的链接数量
blocking=True, # 连接池中如果没有可用连接后,是否阻塞等待
host='localhost', # 数据库服务器地址
port=3306, # 数据库服务器端口
user='root', # 数据库用户名
password='123456', # 数据库密码
database='test', # 数据库名
charset='utf8' # 数据库编码
)
# 获取数据库连接
def get_conn():
conn = POOL.connection()
return conn
# 使用连接池中的连接执行查询
def query_data(sql):
conn = get_conn()
cursor = conn.cursor()
cursor.execute(sql)
result = cursor.fetchall()
cursor.close()
conn.close()
return result
# 示例使用
if __name__ == '__main__':
sql = "SELECT * FROM user;"
print(query_data(sql))
这段代码首先导入了必要的模块,并配置了数据库连接池。然后定义了一个获取数据库连接的函数和一个使用连接池中的连接执行查询的函数。最后,提供了一个使用这些函数的示例。这个示例展示了如何从连接池中获取连接,执行一个查询,并在使用后关闭连接,确保资源得到妥善管理。
评论已关闭