| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> mysql连接池和redis连接池的实现 -> 正文阅读 |
|
[大数据]mysql连接池和redis连接池的实现 |
池化技术
?什么是数据库连接池
为什么使?数据库连接池
?不使?连接池
可以看到,为了执??条SQL,需要进?TCP三次握?,Mysql认证、Mysql关闭、TCP四次挥?等其他操作,执?SQL操作在所有的操作占??常低。 ?优点:实现简单 缺点: ?络IO较多带宽利?率低 QPS较低 应?频繁地创建连接和关闭连接,导致临时对象较多,带来更多的内存碎? 在关闭连接后,会出现?量TIME_WAIT 的TCP状态(在2个MSL之后关闭) 使?连接池第?次访问的时候,需要建?连接。 但是之后的访问,均会复?之前创建的连接,直接执?SQL语句。 ?优点: 1. 降低了?络开销 2. 连接复?,有效减少连接数。 3. 提升性能,避免频繁的新建连接。新建连接的开销?较? 4. 没有TIME_WAIT状态的问题 缺点: ?设计较为复杂 ?连接和连接池的区别?连接是?些驱动、驱动框架、ORM?具的特性,由驱动来保持连接句柄的打开,以便后续的数据库操作可以重?连接,从?减少数据库的连接开销。 ?连接池是应?服务器的组件,它可以通过参数来配置连接数、连接检测、连接的?命周期等。 连接池内的连接,其实就是?连接。 数据库连接池运?机制从连接池获取或创建可?连接; 使?完毕之后,把连接返回给连接池; 在系统关闭前,断开所有连接并释放连接占?的系统资源; 连接池和线程池的关系?连接池和线程池的区别 线程池:主动调?任务。当任务队列不为空的时候从队列取任务去执?。 ?如去银?办理业务,窗?柜员是线程,多个窗?组成了线程池,柜员从排号队列叫号执?。 连接池:被动被任务使?。当某任务需要操作数据库时,只要从连接池中取出?个连接对象,当任务使?完该连接对象后,将该连接对象放回到连接池中。如果连接池中没有连接对象可以?,那么该任务就必须等待。 ?如去银??笔填单,笔是连接对象,我们要?笔的时候去取,?完了还回去。 连接池和线程池设置数量的关系 ?般线程池线程数量和连接池连接对象数量?致; ?般线程执?任务完毕的时候归还连接对象; 线程池设计要点使?连接池需要预先建?数据库连接
连接池的具体实现MySQL和Redis客户端连接编程 mysql api c客户端:https://www.yuque.com/linuxer/linux_senior/rcz4xl hiredis的使?:https://www.yuque.com/linuxer/linux_senior/ofs3au 案例问:4个连接池对象和4个线程使?4个连接池做同样的事情吗?还是区分每个线程做不同的事情。 答:连接池只是提供了连接对象,提供了?条连接通道,?于调?者要拿这个连接对象做什么业务是?调 ?者取决定的。出于业务解耦合的场景,也可以设置不同的线程池和不同的连接池应对不同的业务,?如 即时通讯写?聊天记录和读取聊天记录采?不同的线程池和对象池。 连接池连接设置数量连接数 = ((核?数 * 2) + 有效磁盘数) 按照这个公式,即是说你的服务器 CPU 是 4核 i7 的,那连接池连接数??应该为 ((4*2)+1)=9 这?只是?个经验公式。还要和线程池数量以及具体业务结合在?起。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 22:51:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |