码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Django配置连接池:使用django-db-connection-pool配置连接池


    一、该三方库文档使用

    github地址:

    https://github.com/altairbow/django-db-connection-pool/blob/1.2.5/README_CN.mdicon-default.png?t=N7T8https://github.com/altairbow/django-db-connection-pool/blob/1.2.5/README_CN.md1、选择指定版本,查看指定版本的文档和配置:

                            ​​​​​​​        ​​​​​​​        

    2、目前配置的1.2.5版本

    3、使用前查看两个文件

            ​​​​​​​        ​​​​​​​        

    4、README_CN.md: 是文档说明的中文版

    5、pyproject.toml: 是django-db-connection-pool包的依赖情况

    二、安装

    1、安装所有支持的数据库组件

    $ pip install django-db-connection-pool[all]==1.2.5

    2、选择部分支持的数据库组件

    $ pip install django-db-connection-pool[mysql,oracle,postgresql,jdbc]==1.2.5

    3、例如只选择mysql的组件

    $ pip install django-db-connection-pool[mysql]==1.2.5

    4、1.2.5版本的依赖情况

    通用依赖:

    python版本>=3.4

    Django>=2.0

    SQLAlchemy>=1.4.24
    sqlparams>=4.0.0

    数据库客户端:

    jdbc = ["JPype1>=1.3.0"]
    mysql = ["mysqlclient>=1.3.0"]
    odbc = ["pyodbc>=4.0.34"]
    oracle = ["cx-Oracle>=6.4.1"]
    postgresql = ["psycopg2>=2.8.6"]
    psycopg2 = ["psycopg2>=2.8.6"]
    psycopg3 = ["psycopg>=3"]

    三、在django配置文件中配置

    settings.py

    1. MYSQL_DATA = {
    2. "HOST": "127.0.0.1",
    3. "PORT": 3306,
    4. "USER": "root",
    5. "PASSWORD": "123456",
    6. "NAME": "standard"
    7. }
    8. DATABASES = {
    9. "default": {
    10. # "ENGINE": "django.db.backends.mysql",#django原生客户端
    11. "ENGINE":"dj_db_conn_pool.backends.mysql", #使用三方客户端
    12. "HOST": MYSQL_DATA.get('HOST'),
    13. "PORT": MYSQL_DATA.get('PORT'),
    14. "USER": MYSQL_DATA.get('USER'),
    15. "PASSWORD": MYSQL_DATA.get('PASSWORD'),
    16. "NAME": MYSQL_DATA.get('NAME'),
    17. 'POOL_OPTIONS' : { #连接池的参数
    18. 'POOL_SIZE': 1,
    19. 'MAX_OVERFLOW': 1,
    20. 'RECYCLE': 24 * 60 * 60,
    21. 'PRE_PING': True,
    22. 'ECHO': False,
    23. 'TIMEOUT': 30,
    24. }
    25. }
    26. }

    参数说明:

    1、POOL_SIZE:项目启动时,连接池预先创建的连接数量

    2、MAX_OVERFLOW:当POOL_SIZE的连接数被使用完,还可以根据系统情况再创建的连接数

    3、最大连接数=POOL_SIZE+MAX_OVERFLOW,默认两个都是10

    4、RECYCLE : 连接超时时间,超过就关闭连接替换成新打开的连接。默认是-1,即不超时。

    5、PRE_PING : 从连接池取出连接时,是否先ping以下数据库,检测连接是否还存活。默认True

    6、ECHO:是否开启SQLAlchemy的SQL语句日志。默认False,在调试时可以使用。

    7、TIMEOUT:定义连接池中获取连接的超时时间,单位秒。如果指定时间内无法获取到可用的连接,将会引发超时异常。

  • 相关阅读:
    高压MOS管1000V/2A 可代替IXFP4N100 数据表(PDF)
    2022.11.10 vs每次都需要重新配置环境解决方案
    今天学习了excel的公式和函数,常用的还没学完,先做好笔记,都是比较常用的东西,对未来分析数据很有用,明天继续加油
    R语言 |一些常用的数据整理的技巧(二)
    记录 Maven 版本覆盖 Bug 的解决过程
    Verilog语法之条件编译`ifdef, `ifndef,`else, `elsif, `endif
    Copliot:让你一秒变身网页达人的神奇助手
    激光雷达数据的25个重要应用介绍
    自主设计,模拟实现 RabbitMQ - 多虚拟主机管理
    Windows下 MySql 5.7授权远程登陆
  • 原文地址:https://blog.csdn.net/weixin_46371752/article/details/139699321
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号