发布时间:2026/8/31 18:09:50
【MySQL】MySQL连接池原理与简易网站数据流动是如何进行 MySQL连接池原理与简易网站数据流动是如何进行*1.MySQL连接池原理* 2.简易网站数据流动是如何进行点赞???收藏???关注??? **你的支持是对我最大的鼓励我们一起努力吧???**1.MySQL连接池原理------------目前我们对mysql有了一定的理解下面我们谈一下mysql在网站或者公司内部一套存储方案它定位的问题。实际上在开发的时候把表结构各方面设计好了接下来要做的不是写各种各样的sql在做开发的时候是先要连接数据库的。而我们会发现连接数据库的时候每一次连的都是先创建数据库对象然后connet用完之后要把释放把连接关掉这种执行一条sql这种就把连接关了这是一种短连接并且挺浪费的。所以mysql在网站和数据库之间除了一些缓存方面的技术还有一个在编码层面上的技术叫做连接池。那这个连接池如何理解呢以前是这样做的需要就连接一下连接之后返回返回之后就断开。而实际上我们可以自己设计一个连接池的小组件它可以预先让多个线程预先和mysql建立好连接建立好连接之后不动就一直处于连接的状态我们可以把sql语句封装成任务扔到连接池中然后就可以把任务交给连接池中的线程。一定是这个线程启动的时候就绑定或者关联了mysql连接资源说白了不就是给线程设计一个类线程内部里在创建MYSQL对象。在线程池构造线程的同时把MYSQL对象也构建除了。线程启动之后就把mysql连接连上连上之后线程不就进入自己的事件主循环然后我们就可以直接用这个连接了。那这个玩意怎么做呢如果在Linux学过线程池的话非常简单这个连接池内部其实只需要维护一个任务队列就可以。这个连接池里面创建线程池今天还需要加上MYSQL对象每一个线程给它搞一个MYSQL对象这个创建MYSQL对象可以当作线程类的类内成员当初始化线程就可以把对应的MYSQL对象也初始化出来。当启动线程之后也把mysql连接建立好这样每一个线程都有自己mysql的句柄都维护了自己的连接。然后线程进入等待任务到来的死循环中不断从任务队列中拿任务有任务就拿没任务就在条件变量下去等。我们未来就可以通过任务队列把任务下达下去。上层可以构建任务task类里面可以包含两个成员一个是string sql还有一个回调函数function cb。比如我现在是一个调用方我要向mysql服务器下达一个delete指令所以写一个delete 的sql语句然后把它构建成一个task然后把这个task扔到连接池的任务队列里然后线程就可以从任务队列里拿到任务然后拿到对应任务的线程不是有msyql连接吗就可以去执行mysql_query把task对象中的sql拿出来交给mysql_query执行。线程池预先创建连接池预先创建所以就避免了重新建立连接的动作所以此时一旦拿到task之后就给对mysql下达sql指令了。为什么任务类里面放一个回调函数fuction 这是因为我们自己的模块可以有一个函数A。如果向mysql增加删除更新还好说但是读取的时候我们需要把结果拿到。线程拿到这个sql执行之后然后多做一个动作看看这个fuction是否存在如果没有那执行完sql就真的完了。如果设置了然后线程池继续回调这个fuction把我们查询出来的结果通过回调拿回来。这个回调就是我们曾经构建task把自己的方法函数A绑定到task里面的function所以数据就被拿回来了。所以我们可以用这种想法去设计成一个连接池。2.简易网站数据流动是如何进行---------------一个用户逻辑是怎么走的以注册和登录为例。现在有一个服务器上面搭载了一个网站然后还有一台服务器上面搭载了内网中的mysql。这个服务器上面一定要搭建httpnginx或者业务型的tomcat。现在有一个用户向网站发起一个注册请求然后这个网站给你回应一个注册页面。然后把对应信息填完就提交。可能用的是GET或者POST方法把数据提交给了服务器在服务器内部它可能会用一些web语言 比如说phppythonjava然后就可以把你提交的这些数据进行提取出来。然后判断你这是注册所以就把你的数据构建成sql直接提交到mysql里自此这个用户信息就被记录到用户表里了。但直接和数据库打交道太慢了 其次一般公司数据库服务可能存在多份所以它可能存在后端接入多个数据库。那这个网站怎么去选择用那个数据库呢那就需要一个中间键可以用一些效率更到的语言如C/C等。这个构建成sql不用直接交道数据库了直接先交给它。然后它内部做一些负载均衡选择把记录插入数据库。这些数据库会定期做数据的互相同步然后数据就都有了。所以网站根本不关心后端有多少数据库我们把数据库集群化。这里就出现这么多数据库选择那一个。你也不用管了这个时候就在这两个模块之间添加一层软件层。这就是在计算机学科任何的问题都可以通过加一层软件来解决。所以加软件层来解决对应的问题。然后别人想登录登录也是一样的要进行请求登录页面然后就返回登录页面然后输入用户名和密码接下来就以POST或者GET方法提交上来然后怎么去验证这个用户呢所以还是提取后构建一个sql语句把这个sql通过服务下达给后端的数据库。可以根据负载均衡随便去找个数据库因为数据是同步的。然后就去查查完后把查询结果返回只要有结果说明这个用户是合法然后就可以在服务器层面给它形成各种cookiesession这样的信息。另外我们在访问页面时可能会有一些高频热度的数据我们可以在加一些缓存之类的比如说Rides之类的。所以在查数据时不一定要去数据库里查而先到缓存里有的话直接从缓存里返回。没有的话就去访问mysql。这就是一个网站整个初步的逻辑就是这个样子的。

相关新闻

2026/8/31 18:09:50

【Java报错已解决】org.springframework.beans.factory.BeanCreationException

???很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。> > > > 非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。???…

2026/8/31 18:04:49

用Python解析SEC 13F文件,追踪AI股票机构资金流向

13F 是观察美股机构资金最常用的公开数据切口。当市场开始讨论“AI 躺赢时代结束”时,真正能验证这个判断的,不是某条新闻里的单句话,而是每个季度 SEC 收到的一批 13F 文件。管理规模超过 1 亿美元的美国机构投资经理,需要在季度…

2026/8/31 18:04:49

SpringBoot教育答疑系统:状态机+MinIO+ES实战骨架

简介:这是一套面向计算机专业本科生的Java毕业设计实战资源,基于SpringBoot框架构建完整的在线答疑系统,兼顾Web端与微信小程序双端交互场景,适用于课程设计、毕设开题与全栈开发能力训练。资源包共818个文件,涵盖97个…

2026/8/31 18:24:52

Java面试八股文:从背题到讲原理,构建完整知识体系

每次看到"Java面试八股文"这几个字,我心里其实挺复杂的。一方面,市面上确实有太多人靠背诵题库拿到了Offer,结果入职后连一个简单的内存泄漏问题都定位不了;另一方面,面试本身就是一场"八股项目算法&qu…

2026/8/31 18:24:52

基于YOLO的试卷题目自动切割系统设计与实践

简介:本资源是一个基于YOLOv8的试卷题目自动切割系统实现方案,面向计算机视觉方向的本科毕业设计、课程设计及期末大作业实践者,解决传统人工裁剪试卷题目效率低、易出错的问题。系统依托YOLO目标检测模型,完成试卷图像中各题目的…

2026/8/31 18:24:52

STM32F407 FSMC驱动TFTLCD电容触摸屏实战指南

简介:本资源是一套基于STM32F407微控制器的TFTLCD电容触摸屏完整驱动与测试工程,面向嵌入式初学者及中级开发者,解决LCD显示与电容触控协同开发中的硬件适配、ADC采样滤波、坐标映射、中断响应等核心问题,适用于智能终端、工业HMI…

2026/8/31 18:24:52

面试被拒,老板给了1000元辛苦费

大家好,我是小悟。 面试被拒,原本是职场里再普通不过的一件事。但重庆一位广告营销从业者,却在被拒的当晚,收到了公司主动转来的1000元——老板说这是“车马费与面试茶水费”。从业十年的张先生,在面试中按要求认真完成…

2026/8/31 18:24:52

STM32F407驱动TFTLCD电容触摸屏:FSMC与I2C实战全解析

简介:本资源是一套基于STM32F407微控制器的TFTLCD电容触摸屏完整驱动与测试工程,面向嵌入式初学者及中级开发者,解决LCD显示与电容触控协同开发中的硬件适配、ADC采样滤波、坐标映射与触摸事件识别等核心问题,适用于智能终端、工业…

2026/8/31 18:19:52

NASA CEA化学平衡计算全解析:从火箭比冲预测到燃烧温度仿真

简介:CEA(Chemical Equilibrium with Applications)是NASA开发的热化学平衡计算程序,广泛用于火箭发动机燃烧室设计、化学反应模拟及推进性能评估。该资源面向航天、能源、化工等领域的研究与工程人员,提供基于MATLAB的…

2026/8/31 1:05:20

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/8/31 2:14:20

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/8/31 1:41:28

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/8/31 0:07:32

STM32C5设备支持包(IAR DFP)安装指南与常见坑

上一阵子在IAR里折腾一块基于STM32C5系列的新板子,工程从STM32CubeMX导出来之后怎么都编译不过。报错信息很干脆:找不到设备描述文件。跟着错误路径去查,发现指向的是一个让我愣了一下的名字:STMicroelectronics.stm32c5xx.2.1.0.…

2026/8/31 0:07:32

STM32N657 SWO引脚矛盾:CubeMX显示PB3,数据手册为PB5

拿到STM32N657这颗料的第一天,我就撞上了一个让人原地懵圈的引脚矛盾:CubeMX里清清楚楚显示SWO在PB3,翻开数据手册的引脚说明表,却赫然写着PB5。对于一个靠SWO输出调试日志吃饭的人而言,这种"工具和手册打架"…

2026/8/31 12:44:45

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/31 9:19:59

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/31 6:53:02

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…