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

MYSQL_DATA = {
    "HOST": "127.0.0.1",
    "PORT": 3306,
    "USER": "root",
    "PASSWORD": "123456",
    "NAME": "standard"
}

DATABASES = {
    "default": {
        # "ENGINE": "django.db.backends.mysql",#django原生客户端
        "ENGINE":"dj_db_conn_pool.backends.mysql", #使用三方客户端
        "HOST": MYSQL_DATA.get('HOST'),
        "PORT": MYSQL_DATA.get('PORT'),
        "USER": MYSQL_DATA.get('USER'),
        "PASSWORD": MYSQL_DATA.get('PASSWORD'),
        "NAME": MYSQL_DATA.get('NAME'),
        'POOL_OPTIONS' : { #连接池的参数
            'POOL_SIZE': 1,
            'MAX_OVERFLOW': 1,
            'RECYCLE': 24 * 60 * 60,
            'PRE_PING': True,
            'ECHO': False,
            'TIMEOUT': 30,
        }
    }
}

参数说明:

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:定义连接池中获取连接的超时时间,单位秒。如果指定时间内无法获取到可用的连接,将会引发超时异常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/710517.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Xcode无法使用设备:Failed to prepare the device for development

问题: Xcode无法使用设备开发,失败报错如下: Failed to prepare the device for development. This operation can fail if the version of the OS on the device is incompatible with the installed version of Xcode. You may also need…

容性负载箱在电子元器件制造中的应用有哪些?

容性负载箱是一种能够模拟实际负载的电子设备,主要用于测试电源、变频器、逆变器等电力电子设备的性能。在电子元器件制造中,容性负载箱的应用非常广泛,主要体现在以下几个方面: 1. 电源测试:电源是电子元器件正常工作…

【触想智能】壁挂式工业一体机在智能制造行业上的应用分析

随着智能制造的兴起,壁挂式工业一体机成为了越来越多工厂的首选设备。壁挂式工业一体机是一种高性能的计算机,内置多种工业级传感器和执行器,可以实时获取工厂生产过程中的各种数据,并与其他设备进行无缝连接。 为了大家更深入的了…

自动生成企业培训视频:创新与效率的完美结合

前言 随着人工智能技术的飞速发展,大模型技术在各个领域的应用日益广泛。在企业培训领域,大模型技术的应用为培训视频的生成带来了革命性的变革。本文将探讨如何利用大模型技术自动生成企业培训视频,以及这一技术为企业培训带来的创新和效率…

停止游戏中的循环扣血显示

停止游戏中循环扣血并显示的具体实现方式会依赖于你的代码结构和游戏的逻辑。通常情况下,你可以通过以下方式来实现停止循环扣血和显示: 1、问题背景 在使用 Python 代码为游戏开发一个生命值条时,遇到了一个问题。代码使用了循环来减少生命…

Mysql之不使用部署在k8s集群的Mysql而是选择单独部署的Mysql的原因

测试准备: 线程组:并发数100,持续时间2min 两个请求:使用k8s集群中的mysql的wordpress对应端口30011 使用单独部署的mysql的wordpress的对应端口为30022 访问同一个博客 测试结果: 汇总报告: 响应时间图&…

DevOps学习回顾01-技能发展路线-岗位能力-体系认知(射箭和拉弓的区别)

事为先,人为重–事在人为 参考来源: 极客时间专栏:DevOps实战笔记,作者:石雪峰 课程链接:https://time.geekbang.org/column/intro/235 时代的典型特征 VUCA VUCA 是指易变性(Volatility&…

深度学习 - CNN

第一部分:基础知识 1. 什么是卷积神经网络(CNN) 定义和基本概念 卷积神经网络(CNN)是一种专门用于处理具有网格结构数据(如图像)的深度学习模型。它们在图像识别和计算机视觉领域表现尤为突出…

欢乐钓鱼大师通关必备秘籍!云手机游戏辅助!

《欢乐钓鱼大师》是一款让玩家沉浸在放松钓鱼乐趣中的手机游戏。不同于传统钓鱼游戏,它融合了收集、升级和竞技等元素,让每位玩家可以根据自己的喜好和目标来发展钓鱼技艺。本攻略将为您详细介绍如何在游戏中迅速提升实力,达到通关的最高境界…

idea Alt+/ 自动补全变量名开头是大写 改 选择小写开头变量名

idea 中自动补全变量名是非常常见的操作,变量名一般都需要小写开头,但是idea中 Alt / 自动补全变量名时 补全的变量名是大写的,这就很难受了。如下图所示: AutowiredLogService LogService;Ctrl 空格 快捷键 虽然不像 Alt / 一…

基于51单片机的智能语音电子秤设计

一.硬件方案 电子秤的测量原理是被称量物体的重量使传感器弹性体发生变形,输出与重量成正比的电信号,传感器输出信号经放大器放大后,输入转换器进行转换,转换成的频率信号直接送入微处理器中,其数字量由微机进行处理&…

PMS助力制造企业高效运营︱PMO大会

全国PMO专业人士年度盛会 北京易贝恩项目管理科技有限公司副总经理朱洪泽女士受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾,演讲议题为“PMS助力制造企业高效运营”。大会将于6月29-30日在北京举办,敬请关注! 议题简要: …

【Better Lighting V2】Blender商城10周年免费送插件灯光预设和图案轮库场景打光和模拟光透过图案水滴波纹效果

Blender商城10周年免费送插件:https://blendermarket.com/birthday Better Lighting V2 灯光预设和图案轮库 模拟各种环境下光线透过物体效果 各种预设快速调整 非常简单和快速打光调色 更多详细介绍:https://blendermarket.com/products/bette…

基于python_CNN的人体姿态行为识别-含数据集+pyqt界面

代码下载地址: https://download.csdn.net/download/qq_34904125/89383060 本代码是基于python pytorch环境安装的。 下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。 或可直接参考下面博文…

【数据结构与算法】哈夫曼树与哈夫曼编码

文章目录 哈夫曼树(最优二叉树)定义举个🌰(WPL的计算) 哈夫曼树的构造(最优二叉树的构造)举个🌰 哈夫曼树的性质 哈夫曼编码定义构造 哈夫曼树(最优二叉树) …

SD3开源:AI绘画的新纪元,出图效果巨好,不容错过!(附教程)

大家好,我是画画的小强。 这两天,Stability AI 将史上最牛的AI绘画模型SD3开源了,真是有格局! 虽说只是中杯的20亿参数版本,但我已经很满足了,再高的版本,我这普通的16G 4070Ti Super 显卡也跑…

【Java】类与类的关系及其总结

类和类的关系 代码 总结: 【1】面向对象的思维:找参与者,找女孩类,找男孩类 【2】体会了什么叫方法的性擦,什么叫方法的实参: 具体传入的内容 实参: 【3】类和类可以产生关系: …

IIC通信总线

文章目录 1. IIC总线协议1. IIC简介2. IIC时序1. 数据有效性2. 起始信号和终止信号3. 数据格式4. 应答和非应答信号5. 时钟同步6. 写数据和读数据 2. AT24C023. AT24C02读写时序4. AT24C02配置步骤5. 代码部分1. IIC基本信号2. AT24C02驱动代码3. 实验结果分析 1. IIC总线协议 …

上位机图像处理和嵌入式模块部署(h750和市场上的开发板)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 目前在电商网站上面,关于h750的开发板很多。一种是某原子和某火出品的板子,这一类的板子就是做的比较大,功能比…

【python-AI篇】人工智能技能树思维导图

大致总结一下得出如下思维导图,如不完善日后迭代更新 1. python基础三方库 1.1 科学计算库 ---- numpy库 1.2 科学计算库 ---- Scipy库 1.3 数据分析处理库 ---- pandas库 1.4 可视化库 ---- matplotlib库 1.5 可视化库 ---- seaborn库 1.6 机器学习和数据挖掘库 …