Django的持久数据库连接后端
django-db-connection-pool的Python项目详细描述
Django DB连接池
django的mysql&oracle连接池后端,基于sqlalchemy。
快速启动
安装时使用
pip
:$ pip install django-db-connection-pool
配置
mysql
将
django.db.backends.mysql
更改为dj_db_conn_pool.backends.mysql
:DATABASES = { 'default': { ... 'ENGINE': 'dj_db_conn_pool.backends.mysql' ... } }
甲骨文
将
django.db.backends.oracle
更改为dj_db_conn_pool.backends.oracle
:DATABASES = { 'default': { ... 'ENGINE': 'dj_db_conn_pool.backends.oracle' ... } }
游泳池选项
您可以提供附加选项以传递给sqlalchemy的池创建,键的名称是
POOL_OPTIONS
:DATABASES = { 'default': { ... 'POOL_OPTIONS' : { 'POOL_SIZE': 10, 'MAX_OVERFLOW': 10 } ... } }
以下是这些选项的说明(来自sqlalchemy的文档):
池大小:要维护的池大小, 默认为5。这是连接数量最多的 会一直留在泳池里注意游泳池 从没有连接开始;一旦连接数达到 被请求时,该连接数将保持不变。
pool_size
可以设置为0表示没有大小限制;到 禁用池,使用:类:~sqlalchemy.pool.NullPool
相反。^ {STR 1 } $Max溢出():最大溢出大小 游泳池。当签出的连接数达到 池大小中设置的大小,其他连接将为 回到这个极限。当那些额外的连接 返回到池中,断开连接并 丢弃的。接下来是 池将允许的同时连接是池大小+
max_overflow
,以及“睡眠”的总数 池将允许的连接是池大小。max_overflow
可以设置为-1以指示没有溢出限制;没有限制 将放置在并发的总数上 连接。默认为10。