PDO 长连接

长连接是什么含义?PDO支持长连接吗?

  • 长连接是指新建立的连接能够在多次请求之间复用,与之相对的是短连接,短连接在每次请求时创建链接,请求结束后都会释放链接。
  • PDO默认是短连接,要想使用长连接,可以在创建时如下设置options:
        $pdo = new PDO($dsn, $username, $passwd, [PDO::ATTR_PERSISTENT => true]);
    • 长连接测试
      • 方法1:请求结束后通过mysql客户端执行 show full processlist
      • 方法2:查看mysql general_log
      • 方法3:查看服务器上mysql端口的链接;mac上面可以执行 lsof -i :3306 查看
        PDO长连接

长连接 vs 短连接

  • 长连接能够复用连接资源,减少响应时间,但是要考虑最大链接数的限制(php-fpm工作模式下连接数=worker进程书数)
  • 短连接响应时间慢,但资源会及时释放

questions?

  • PDO可以设置最大连接数吗?可以设置链接的最大空闲时间吗?
  • PDO vs 连接池
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1
lmaster

关于 pdo 长链接的问题 推荐看下 这里

pdo 的长链接和是否实现了数据库池有很大关系

有个架构 LNMPA (Linux + Nginx + MySQL +PHP + Apache)的核心体系就是由 Nginx 来做向导(静态资源直接指向;动态页面分配给 Apache,在由 Apache 联系 PHP 和 MySQL 处理)

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!