网站服务器地址怎么查询,标准网站建设服务器,兰州落地防疫,小程序公司十大排名数据库的连接池
1 #xff09;概述
网站连接数据库#xff0c;为庞大用户的每次请求创建一个连接是不合适的关闭并重新连接的成本是很大的处理方法#xff1a;设置最大值, 最小值, 设置最多闲置连接#xff0c;设置等待阻塞
2 #xff09;示例演示
import threading
i…数据库的连接池
1 概述
网站连接数据库为庞大用户的每次请求创建一个连接是不合适的关闭并重新连接的成本是很大的处理方法设置最大值, 最小值, 设置最多闲置连接设置等待阻塞
2 示例演示
import threading
import pymysqlfrom dbutils.pooled_db import PooledDBMYSQL_DB_POOL PooledDB(creatorpymysql, # 使用连接数据库的模块maxconnection5, # 连接池允许的最大连接数0 和 None 表示不限制连接数mincached2, # 初始化时连接池中至少创建的空闲的连接0表示不创建maxcached3, # 连接池中最多闲置的连接0 和 None 不限制blockingTrue, # 连接池中如果没有可用连接后是否阻塞等待。True, 等待: False, 不等待然后报错setsession[], # 开始会花钱执行的命令列表如: [set datestyle to ..., set time zone ...]ping0, # 没必要做连接前的检查, 0 None never, 1 default whenever it is rquested, 2 when a cursor is created, 4 when a query is executed, 7 alwayshost127.0.0.1,port3306,userroot,passwordxxxx,databaseuserdbcharsetutf8
)def task():# 去连接池获取一连接, 有则获取无则阻塞conn MYSQL_DB_POOL.connection()cursor cursor(pymysql.cursors.DictCursor)cursor.execute(select sleep(2))result cursor.fetchall()cursor.close()conn.close() # 将连接还给连接池def run():# 开始并发请求for i in range(10):t threading.Thread(targettask)t.start()if __name__ __main__:run()在实际工作中程序是需要做负载均衡数据库也是需要搭建集群的并发问题是性能瓶颈的主要问题