iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >开发自定义Mysql连接池
  • 458
分享到

开发自定义Mysql连接池

自定义连接池Mysql 2023-01-31 02:01:48 458人浏览 薄情痞子
摘要

使用第三方包    https://pypi.python.org/pypi/DBUtils      tar -zxvf *.tar.gz * python3 setup.py build && Python3 setup

使用第三方包

    https://pypi.python.org/pypi/DBUtils

     tar -zxvf *.tar.gz * python3 setup.py build && Python3 setup.py install

import time
import pyMysql
import threading
from DBUtils.PooledDB import PooledDB, SharedDBConnection
POOL = PooledDB(
    creator=pymysql,  # 使用链接数据库的模块
    maxconnections=6,  # 连接池允许的最大连接数,0和None表示不限制连接数
    mincached=2,  # 初始化时,链接池中至少创建的空闲的链接,0表示不创建
    maxcached=5,  # 链接池中最多闲置的链接,0和None不限制
    maxshared=3,  # 链接池中最多共享的链接数量,0和None表示全部共享。PS: 无用,因为pymysql和MySQLdb等模块的 threadsafety都为1,所有值无论设置为多少,_maxcached永远为0,所以永远是所有链接都共享。
    blocking=True,  # 连接池中如果没有可用连接后,是否阻塞等待。True,等待;False,不等待然后报错
    maxusage=None,  # 一个链接最多被重复使用的次数,None表示无限制
    setsession=[],  # 开始会话前执行的命令列表。如:["set datestyle to ...", "set time zone ..."]
    ping=0,
    # ping MySQL服务端,检查是否服务可用。# 如:0 = None = never, 1 = default = whenever it is requested, 2 = when a cursor is created, 4 = when a query is executed, 7 = always
    host='127.0.0.1',
    port=3306,
    user='root',
    passWord='123',
    database='pooldb',
    charset='utf8'
)


def func():
    # 检测当前正在运行连接数的是否小于最大链接数,如果不小于则:等待或报raise TooManyConnections异常
    # 否则
    # 则优先去初始化时创建的链接中获取链接 SteadyDBConnection。
    # 然后将SteadyDBConnection对象封装到PooledDedicatedDBConnection中并返回。
    # 如果最开始创建的链接没有链接,则去创建一个SteadyDBConnection对象,再封装到PooledDedicatedDBConnection中并返回。
    # 一旦关闭链接后,连接就返回到连接池让后续线程继续使用。
    conn = POOL.connection()

    # print(th, '链接被拿走了', conn1._con)
    # print(th, '池子里目前有', pool._idle_cache, '\r\n')

    cursor = conn.cursor()
    cursor.execute('select * from tb1')
    result = cursor.fetchall()
    #并没有关闭,只是把连接放回到了连接池中
    conn.close()


func()


您可能感兴趣的文档:

--结束END--

本文标题: 开发自定义Mysql连接池

本文链接: https://www.lsjlt.com/news/185635.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 开发自定义Mysql连接池
    使用第三方包    https://pypi.python.org/pypi/DBUtils      tar -zxvf *.tar.gz * python3 setup.py build && python3 setup...
    99+
    2023-01-31
    自定义 连接池 Mysql
  • MySQL池化框架学习接池自定义
    目录引言可池化对象池化工厂对象池API封装引言 最近在学习了通用池化框架commons-pool2实践之后,再HTTP性能测试中进行了实践,结果出乎意料,对于性能提升没啥卵用。经过我自己的本地测试,性能也是足够好的。 后...
    99+
    2022-07-21
    MySQL连接池自定义 MySQL池化框架
  • 关于JSCH使用自定义连接池的说明
    目录1. JSCH使用方法2. JSCH工具类3. 创建连接池4. 改造shellUtil5. 添加配置6. 线程安全问题解决1. JSCH使用方法 jsch使用方法 2. JSCH...
    99+
    2022-11-13
  • springboot2.1.3配置sftp自定义sftp连接池的详细过程
    项目地址 项目地址:https://gitee.com/xuelingkang/spring-boot-demo 完整配置参考com.example.ftp包 maven: &l...
    99+
    2022-11-12
  • SpringBoot 整合mongoDB并自定义连接池的示例代码
    目录Maven 依赖配置文件MongoConfig配置类得力于SpringBoot的特性,整合mongoDB是很容易的,我们整合mongoDB的目的就是想用它给我们提供的mongoT...
    99+
    2022-11-13
  • java怎么自定义并发线程池
    要自定义并发线程池,可以使用`ThreadPoolExecutor`类来实现。`ThreadPoolExecutor`是`Execu...
    99+
    2023-10-25
    java
  • jdbc中自带MySQL 连接池实践示例
    引言 在上期文章自定义 MySQL 连接池中,我提到了没找到一个特别合适的 MySQL 连接池实现,所以自己写了一个基于通用池化框架commons-pool2的 MySQL 连接池,...
    99+
    2022-11-13
  • jdbc中自带MySQL 连接池实践示例
    引言 在上期文章自定义 mysql 连接池中,我提到了没找到一个特别合适的 MySQL 连接池实现,所以自己写了一个基于通用池化框架commons-pool2的 MySQL 连接池,并且模仿了 Go 语言的gorm框架设...
    99+
    2022-07-21
    jdbc MySQL连接池 MySQL连接池
  • Android开发之自定义CheckBox
    要实现的效果如下 考虑到关键是动画效果,所以直接继承View。不过CheckBox的超类CompoundButton实现了Checkable接口,这一点值得借鉴。 下面记录一...
    99+
    2022-06-06
    checkbox android开发 Android
  • Android自定义定时闹钟开发
    本文实例为大家分享了Android开发之自定义闹钟实现,供大家参考,具体内容如下 闹钟时间设置及显示 闹钟的布局很简单,就是一个简单时间设置,所以自己写一个简单的布局按钮之类的也可以...
    99+
    2022-11-13
  • Python开发自定义Web框架
    文章目录 开发自定义Web框架1.开发Web服务器主体程序2.开发Web框架主体程序3.使用模板来展示响应内容4.开发框架的路由列表功能5.采用装饰器的方式添加路由6.电影列表页面的开发案例...
    99+
    2023-10-04
    python 服务器 后端
  • python自制简易mysql连接池的实现示例
    目录连接池是什么? 为什么需要连接池? 连接池的原理是什么? 使用python语言自制简易mysql连接池 开始使用 自定义配置文件名 & 配置标签 ...
    99+
    2022-11-12
  • MySQL自定义函数及触发器
    目录1. 存储函数(自定义函数)1.1 定义存储函数1.2 调用存储函数1.3 删除存储函数2. 触发器2.1 触发器介绍2.2 创建触发器2.3 删除触发器2.4 查看触发器1. ...
    99+
    2022-11-13
    MySQL自定义函数 MySQL触发器
  • winform怎么自定义控件开发
    在WinForms中自定义控件开发,可以按照以下步骤进行:1. 创建新的类,继承自现有的控件类,比如`UserControl`或`C...
    99+
    2023-10-10
    winform
  • android自定义toast(widget开发)示例
    1、Toast控件: 通过查看源代码,发现Toast里面实现的原理是通过服务Context.LAYOUT_INFLATER_SERVICE获取一个LayoutInflater布...
    99+
    2022-06-06
    示例 toast Android
  • SpringBoot自定义注解开发指南
    目录一、Java注解(Annotation)1、JDK基本注解2、JDK元注解二、自定义注解开发1、含义2、演示三、完成切面日志操作四、完成前端响应反应总结一、Java注解(Anno...
    99+
    2022-11-13
  • 使用maven自定义插件开发
    目录Maven 插件的命名规范什么是 Mojo?创建 Mojo 工程Maven 插件的命名规范什么是 Mojo?创建 Mojo 工程简单 Mojo 的创建运行自定义 Plugin缩短...
    99+
    2022-11-13
  • ASP.NET如何自定义控件开发
    这篇文章主要为大家展示了“ASP.NET如何自定义控件开发”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ASP.NET如何自定义控件开发”这篇文章吧。该控件的功能如下:显示服务端时间,并不停更新...
    99+
    2023-06-17
  • iOS开发技巧之自定义相机
    最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究了一下相机的自定义。 相机属于系统硬件,这就需要我们来手动调用iPhone的相机硬...
    99+
    2022-05-19
    iOS 相机
  • Android自定义TitleView标题开发实例
    Android开发过程中,经常遇到一个项目需要重复的定义相同样式的标题栏,Android相继推出了actionBar, toolBar, 相信有用到的朋友也会遇到一些不如意的时...
    99+
    2022-06-06
    Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作