easyswoole mysql-pool连接池empty null的问题
2019年10月11日
SWOOLE问题由来
在easyswoole的群里,每天都需要回答各种各样的问题,其中不乏一些问题反复被小白们问起,比如今天的这个主题:连接池取出empty 为null导致的问题 本文会简单引申出什么是连接池、连接池数量如何设置、连接池的优点等问题。
什么是连接池
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。
简单来说,就是创建一个容器,并且把资源提前准备好放在里面,比如我们常用的redis连接、mysql连接。
连接池的优点
计算机是由许多零件组装而成,比如CPU、内存、硬盘等等。 当我们进行网络连接、请求的时候,就需要在不同组件中传递和返回各种信号、数据 比如在CPU、内存、网卡中,数据的传递,请求,获取。 如果在短时间内进行一万次mysql的连接,就需要在这个往返过程循环,在路上浪费了很多时间、性能消耗。 如果我们先把连接连接好,并且放在连接池中,程序中需要使用就从池中获取,执行操作。 就省去了反复创建连接、断开连接的操作。 可以减少I/O操作,提高资源利用率。