python mysql 连接池
时间: 2023-11-19 21:57:46 浏览: 165
python 使用连接池操作mysql数据库(示例)
以下是使用`pymysql`库实现MySQL连接池的示例代码:
```python
import pymysql
from queue import Queue
from DBUtils.PooledDB import PooledDB
# 创建一个MySQL连接池
class MySQLPool(object):
def __init__(self, host, port, user, password, db, maxconnections=5):
self.pool = PooledDB(pymysql, maxconnections, host=host, port=port, user=user, password=password, db=db)
# 获取一个连接
def get_conn(self):
return self.pool.connection()
# 释放一个连接
def release_conn(self, conn):
conn.close()
# 使用连接池
if __name__ == '__main__':
pool = MySQLPool('localhost', 3306, 'root', 'password', 'test', 5)
conn = pool.get_conn()
cursor = conn.cursor()
cursor.execute('SELECT * FROM test_table')
result = cursor.fetchall()
print(result)
cursor.close()
pool.release_conn(conn)
```
以上代码中,我们使用了`DBUtils.PooledDB`库来创建一个MySQL连接池。在`MySQLPool`类中,我们定义了`get_conn`方法来获取一个连接,`release_conn`方法来释放一个连接。在使用连接池时,我们只需要调用`get_conn`方法获取一个连接,然后使用完毕后调用`release_conn`方法释放连接即可。
阅读全文