zoukankan      html  css  js  c++  java
  • 数据库连接池

    众所周知,普通的数据库连接,1,每次请求都要建立一次数据库的连接

                  2,每次数据库连接,使用完后都得断开

                  3,不能控制被连接的对象数;

    频繁的数据库连接,操作势必占用很多的系统资源,响应速度必定下降,程序出现异常而未能关闭,将会导致数据库系统中的内存泄漏,

    最终将不得不重启数据库,系统资源被毫无顾忌的分配出去,如连接过多,也可能导致内存泄漏服务器崩溃;

    连接池的原理:为数据库连接建立一个“缓冲池”,预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个。

    使用完毕后,再放回去,通过设定连接的最大连接数来防止系统无休止的数据库连接,更为重要的是可以通过连接池的管理机制

    监视数据库的连接的数量,使用情况,为系统开发,测试及性能调整提供数据。

    连接池工作流程:如果没有空闲的连接,则检查当前所开连接有没有达到多允许的最大连接数(MAXCONN)如果没有达到,就新建一个连接,

    如果已经达到,就等待一定时间(timeout)如果的等待的时间,有连接被释放出来,就可以把这个连接分配给等待的用户

    如果等待时间超过了预定时间tomeout,则返回空值,

  • 相关阅读:
    php+redis 学习 一 连接
    【转】什么是tcp
    什么是 lnmp 实现原理。
    gitlab wiki 500
    memcached 与 redis 的区别和具体应用场景
    选择 稳定的工作 还是 挑战的工作
    php 数组变成树状型结构
    虚拟机服务器更新时间
    Phalcon调试大杀器之phalcon-debugbar安装
    MySQL 中的数据类型介绍
  • 原文地址:https://www.cnblogs.com/cj28-27/p/5492120.html
Copyright © 2011-2022 走看看