实现步骤
- 安装依赖:安装数据库连接池相关的库,如
DBUtils
。对于Flask应用,也需要确保Flask
库已安装。可以使用pip install Flask DBUtils
进行安装。
- 配置数据库连接信息:在Flask应用中设置数据库连接的相关参数,如主机、端口、用户名、密码、数据库名称等。
- 创建数据库连接池:使用
DBUtils
库创建连接池对象,设置连接池的参数,如最大连接数等。
- 在视图函数中使用连接池获取连接:在需要访问数据库的视图函数中,从连接池中获取数据库连接,执行数据库操作,操作完成后将连接归还到连接池。
关键代码示例
from flask import Flask
from dbutils.pooled_db import PooledDB
import pymysql
app = Flask(__name__)
# 配置数据库连接信息
db_config = {
'host': 'localhost',
'port': 3306,
'user': 'root',
'password': 'password',
'database': 'test_db',
'charset': 'utf8mb4'
}
# 创建数据库连接池
pool = PooledDB(
creator=pymysql, # 使用pymysql作为数据库驱动
maxconnections=10, # 最大连接数
**db_config
)
@app.route('/')
def index():
# 从连接池获取连接
conn = pool.connection()
try:
with conn.cursor() as cursor:
cursor.execute('SELECT VERSION()')
result = cursor.fetchone()
return f"Database version: {result[0]}"
finally:
# 归还连接到连接池
conn.close()
if __name__ == '__main__':
app.run(debug=True)