数据库连接池的作用:
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。
Python 创建、使用mysql连接池
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2017/11/22 20:35
# @Author : lijunjiang
# @File : demo1.py
import MySQLdb
from DBUtils.PooledDB import PooledDB # 导入方法
# 数据库连接信息
connect_mysql = {
'host':'11.11.11.11',
'port':3306,
'charset':'utf8',
'db':'netcutecontent',
'user':'python',
'passwd':'python'
}
# 创建连接池 PooledDB() 方法
pool = PooledDB(MySQLdb, 5, **connect_mysql)
if __name__ == '__main__':
cnx = pool.connection() # 创建连接池连接 connection() 方法
cus = cnx.cursor() # 创建游标对象 cursor() 方法
SQL = 'select * from servernode' # 定义sql语句
try:
cus.execute(SQL) # 执行sql语句 execute() 方法
result = cus.fetchall() # 获取执行结果 fetchall() 方法(获取所有结果) 返回列表
for result_one in result: #打印结果
print(result_one)
# print(result)
cus.close() # 关闭游标对象
except Exception as err:
raise err
finally:
cnx.close() # 关闭 数据库连接 close() 方法