当前位置:网站首页>自定义MySQL连接池
自定义MySQL连接池
2022-06-28 12:39:00 【51CTO】
最近在学习了通用池化框架commons-pool2实践之后,再HTTP性能测试中进行了实践,结果出乎意料,对于性能提升没啥卵用。经过我自己的本地测试,性能也是足够好的。
后来我仔细想了想,原来是我用错地方了。本来想自己写一个Redis的连接池的没想到,jedis的连接池本身就是commons-pool2开发的,让我有点意外,看来想的是一样的。commons-pool2用来做连接池是非常不错的。
我仔细找了找,发现还缺一个本地的MySQL连接池,而不是springboot那样需要启动一个服务才行。当然应该也是有的,不过我非常想自己写一个然后进行各类测试,所以也没有仔细找。
可池化对象
首先,我们需要一个可池化对象,这里我选用了com.funtester.db.mysql.FunMySql,这是一个我自己写的单链接的MySQL对象。我计划用这个作为基础可池化对象。
池化工厂
相对连接,创建com.funtester.db.mysql.FunMySql的时候,顺便一起初始化MySQL连接。然后再com.funtester.db.mysql.MysqlPool.FunTester#destroyObject的时候进行连接的回收。
对象池
这里显得有些冗余,后面再使用过程中,我会继续优化。通过创建一个com.funtester.db.mysql.MysqlPool对象,获取一个com.funtester.db.mysql.FunMySql对象池。
API封装
自从学习了Go语言的gorm框架和Redis框架,我发现其实不用把池化相关信息不用暴露出来,直接封装原始的API,暴露给用户使用,这样用户就不用关心连接的回收问题了。
BUG挖掘机·性能征服者·头顶锅盖
边栏推荐
猜你喜欢

吐血推荐17个提升开发效率的“轮子”

Why does CAD export PDF have no color

ASP.NET CORE Study04

命名空间和作用域

The white paper on the panorama of the digital economy and the digitalization of consumer finance were released

易观分析《2022年中国银行业隐私计算平台供应商实力矩阵分析》研究报告正式启动

最新!基于Open3D的点云处理入门与实战教程

newest! Introduction and practical tutorial of point cloud processing based on open3d

【Unity编辑器扩展实践】、通过代码查找所有预制

ASP.NET CORE Study08
随机推荐
多维度监控:智能监控的数据基础
Is tongdaxin stock software reliable? Is it safe to trade stocks on it?
What are the common modes of financial products in 2022?
Jerry's wif interferes with Bluetooth [chapter]
Setting overridesorting for canvas does not take effect
UGUI使用小技巧(六)Unity实现字符串竖行显示
Given two points and a point with a middle scale, find the coordinates of the point
10万美元AI竞赛:寻找大模型做得“更烂”的任务
2022-06-28日报:LeCun最新论文:通往自主机器智能的道路
Hundreds of lines of code to implement a JSON parser
What is the difference between internal oscillator, passive crystal oscillator and active crystal oscillator?
UGUI强制刷新Layout(布局)组件
Some tips on string conversion
Wechat authorized login
易观分析《2022年中国银行业隐私计算平台供应商实力矩阵分析》研究报告正式启动
杰理之wif 干扰蓝牙【篇】
Matplotlib_Study01
group_ Concat learning and configuration
模板_大整数乘法
2022年理财产品的常见模式有哪些?