开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: jcos
收起左侧

[易语言模块源码] ✅NX线程池,MySql连接池,免费开源码简单超实用稳定 带例程

  [复制链接]
结帖率:93% (92/99)
发表于 2024-7-25 11:46:13 | 显示全部楼层   重庆市重庆市

回帖奖励 +2 枚 精币

怎么用不了啊

点评

具体什么情况?多参考例程。   广东省茂名市  发表于 2024-7-25 11:52
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2024-7-25 11:18:11 | 显示全部楼层   湖北省咸宁市
1425113841 发表于 2024-7-25 11:02
抽空再次优化了一下:
1. 归还连接时校验连接句柄
2. 监控连接是否重新连接

哈哈,我再下载看看。膜拜ing
回复 支持 反对

使用道具 举报

结帖率:95% (42/44)

签到天数: 16 天

发表于 2024-7-25 11:05:00 | 显示全部楼层   广东省汕头市
wanfengCZ 发表于 2024-7-25 08:55
还是易语言远程连接MYSQL8的问题,连不通。用NX线程池模块,这行代码返回假,谁懂给指点一下吧谢谢,调试输 ...

取回错误  查看具体失败原因

点评

忘记了, 连接失败应该是无法取回错误的. 如果连接失败看看odbc驱动有没有安装, 好像易语言这个核心支持库依赖odbc   广东省汕头市  发表于 2024-7-25 11:25
回复 支持 反对

使用道具 举报

结帖率:95% (42/44)

签到天数: 16 天

发表于 2024-7-25 11:04:06 | 显示全部楼层   广东省汕头市
123233513 发表于 2024-7-25 10:30
已经用上优化后的类,测试程序使用连接池连接mysql,连续运行了2个小时,目前稳定。再次感谢 jcos  和 14 ...

改新的吧, 我昨天发的FIFO存在并发问题
回复 支持 反对

使用道具 举报

结帖率:95% (42/44)

签到天数: 16 天

发表于 2024-7-25 11:02:29 | 显示全部楼层   广东省汕头市
本帖最后由 1425113841 于 2024-7-25 21:29 编辑

给你上手改进了一下.

2024年7月25日:
1. 池使用FIFO的数据结构进行存储
2. 当连接已断开时, 会丢弃掉连接, 重新创建新的Mysql连接
3. 只要获取句柄成功了, 无论后面语句是否执行成功, 都应该归还连接
4. 惰性连接, 规定线程池的大小在8, 但是实际没有并发访问时, 不会将8个连接一次性创建好, 而是需要的时候, 不够再创建. 如果你只是单线程在使用, 那么线程池不会为你创建多余的TCP连接. 这一点可以通过我给你的测试用例看到前面三条命令执行时, 监控日志只汇报创建了一次TCP连接.
5. 增加SQLValueString函数用于辅助where语句的参数转义, 当发现危险字符没有转义会自动转义
6. 执行查询语句时没必要传入表名,这增加了用户会去思考表名的意义,只是一个生成json的字段名而已,随便给个list就可以了。

2024年7月25日: 抽空再次优化了一下
1. 归还连接时校验连接句柄
2. 监控连接是否重新连接
3. 去除"执行SQL_Ret", 因为没必要, 在"执行SQL"上面改进就可以了, 参考测试例子使用指南, 这样做比较优雅
4. 修复队列锁逻辑不合理(严重!!!!) 我昨天写的fifo存在问题, 并发会有概率发生问题, 已经调整, 必须使用这一个版本, 不要使用昨天发的版本, 否则程序存在一定并发崩溃隐患.
5. 可选择是否输出监控日志
6. 监控数据库是否能被连接7. 修复关闭MYSQL连接失败
9. "取出句柄"函数无法成功创建连接时, 不应计数已创建连接.

NX线程池_MySql连接池.e (69.46 KB, 下载次数: 86)

评分

参与人数 3好评 +2 精币 +6 收起 理由
朱熠 + 1 感谢分享,很给力!~
陌路海岸 + 1 + 2 支持开源~!感谢分享
jcos + 1 + 3 万分感谢!辛苦了!这下更稳定了,有大佬出手就是幸福哈!.

查看全部评分

回复 支持 4 反对 0

使用道具 举报

签到天数: 1 天

发表于 2024-7-25 10:30:43 | 显示全部楼层   湖北省咸宁市
1425113841 发表于 2024-7-24 20:39
给你上手改进了一下, 发现整体上都写的有问题, 例如明明是类中操作却在操作全局的mysql实例去归还句柄, 这 ...

已经用上优化后的类,测试程序使用连接池连接mysql,连续运行了2个小时,目前稳定。再次感谢 jcos  和 1425113841 的辛勤付出。
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 17 天

发表于 2024-7-25 10:07:20 | 显示全部楼层   广东省*
感谢分享哦。。
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 17 天

发表于 2024-7-25 09:20:53 | 显示全部楼层   广东省阳江市
花诗雨露,这位道友你也太不用心了哈!明明可以传10个参数,居然说没参数?
回复 支持 反对

使用道具 举报

发表于 2024-7-25 08:55:46 | 显示全部楼层   河北省沧州市
本帖最后由 wanfengCZ 于 2024-7-25 08:57 编辑

还是易语言远程连接MYSQL8的问题,连不通。用NX线程池模块,这行代码返回假,谁懂给指点一下吧谢谢,调试输出 (MYSQL.创建连接 (“192.168.227.129”, “root”, “123456”, “kd_contractor_czsh”, 3306, , ))

点评

试下用数据库工具能不能连上,一般问题是数据库有没开通远程权限看开放端口的问题。   广东省茂名市  发表于 2024-7-25 10:35
回复 支持 反对

使用道具 举报

结帖率:95% (41/43)

签到天数: 13 天

发表于 2024-7-25 08:49:18 | 显示全部楼层   湖北省荆门市

回帖奖励 +2 枚 精币

感谢分享,下载学习了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表