MySQL数据库连贯池SMProxy
道理
将数据库连贯作为对象存储在内存中,当会员需要拜访数据库时,首次会创立连贯,背面并非创立一个新的连贯,而是从连贯池中掏出一个已创立的余暇连贯对象。 运用结束后,会员也并非将连贯关闭,而是将连贯放回连贯池中,以供下一个要求拜访运用。而连贯的创立、断开都由连贯池本身来治理。
同时,还可以通过设定连贯池的参数来控制连贯池中的初始连贯数、连贯的高低限数以及每个连贯的最大运用次数、最大余暇工夫等等。 也可以通过其本身的治理机制来监视数据库连贯的数目、运用状况等。超出最大连贯数会采纳协程挂起,比及有连贯关闭再恢复协程继续操纵。
特性
-支撑读写别离
-支撑数据库连贯池,能够有效解决 PHP 带来的数据库连贯瓶颈
-支撑 SQL92 规范
-采纳协程调度
-支撑多个数据库连贯,多个数据库,多个会员,灵便搭配
-恪守 MySQL 原生协定,跨说话,跨平台的通用中间件代理
-支撑 MySQL 事务
-支撑 HandshakeV10 协定版本
-完善兼容 MySQL4.1 - 8.0
-兼容各大框架,无缝提拔机能
设计初衷
PHP 没有连贯池,所以高并发时数据库会涌现连贯打满的状况,Mycat 等数据库中间件会涌现局部 SQL 没法运用,例如不支撑大量增加等,并且过于臃肿。 所以就本人编写了这个仅支撑连贯池和读写别离的轻量级中间件,运用 Swoole 协程调度 HandshakeV10 协定转发使程序更加不乱,不消像 Mycat 同样解析所有 SQL 包体,添加复杂度。
举荐教程:《mysql教程》https://www.php1.cn/course/list/51.html
以上就是MySQL数据库连贯池SMProxy的细致内容,更多请关注 百分百源码网 其它相干文章!