hand
_1_35_34
4
python3.X - Web - Django3.2.9
共43篇
python3.X - Web - Django3.2.9
返回栏目
0k
0.6k
0.1k
0.2k
0.1k
0.2k
6k
1k
6k
2k
2k
0.4k
0.3k
0.3k
1k
0.5k
3k
2k
0.6k
0.9k
1k
1k
3k
0.1k
0.3k
0.4k
0.4k
0.1k
0.3k
2k
1k
1k
1k
5k
1k
1k
0k
3k
2k
0k
0.1k
0.3k
0k
返回python3.X - Web - Django3.2.9栏目
作者:
贺及楼
成为作者
更新日期:2024-04-06 11:36:46
pip install django-db-connection-pool
settings.py设置
INSTALLED_APPS中加入dj_db_conn_pool
将 ENGINE django.db.backends.mysql 更改为 dj_db_conn_pool.backends.mysql
POOL_OPTIONS参数是dj_db_conn_pool的配置
DATABASE_DEFAULT = {
# 'ENGINE': 'django.db.backends.mysql', # 原版
'ENGINE': 'dj_db_conn_pool.backends.mysql', #dj_db_conn_pool版
'NAME': '库名',
'HOST': '127.0.0.1',
'USER': '用户名',
'PASSWORD': '密码',
'PORT': '3306',
'CONN_MAX_AGE': 0, # 默认: 0 一个数据库连接的寿命,以秒为整数。使用 0 在每次请求结束时关闭数据库连接——这是 Django 的历史行为,使用 None 则是无限的持久连接。
'OPTIONS': {
'charset': 'utf8mb4',
'connect_timeout': 30, # 连接超时时间
},
'POOL_OPTIONS': { # dj_db_conn_pool的参数
'POOL_SIZE': 1,
'MAX_OVERFLOW': 11,
'RECYCLE': 60,
}
}
PS:POOL_SIZE(连接池容量)、MAX_OVERFLOW(连接池容量向上浮动最大值) 这两个参数包含在 POOL_OPTIONS 内
例如下面的配置,default 的连接池常规容量为10个连接,最大浮动10个, 即为:在 default 连接池创建后,随着程序对连接池的请求,连接池内连接将逐步增加到10个,如果在连接池内连接 全部用光后,程序又请求了第11个连接,此时的连接池容量将短暂超过 POOL_SIZE,但最大不超过 POOL_SIZE + MAX_OVERFLOW,
如果程序请求 default 数据库的连接数量超过 POOL_SIZE + MAX_OVERFLOW,那么连接池将一直等待直到程序释放连接, 请注意线程池对数据库连接池的使用,如果线程池大于连接池,且线程无主动释放连接的动作,可能会造成其他线程一直阻塞。
RECYCLE:连接超时时间,如果设置为 -1 以外的值,则表示连接回收之间的秒数,这意味着在结帐时,如果超过此超时,则连接将关闭并替换为新打开的连接。默认为 -1。
python3.X - Web - Django3.2.9
整章节共43节
快分享给你的小伙伴吧 ~