RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 593843
Accepted
RoboNoob
RoboNoob
Asked:2020-11-21 19:55:06 +0000 UTC2020-11-21 19:55:06 +0000 UTC 2020-11-21 19:55:06 +0000 UTC

什么时候在 PDO 中与 MySQL 建立持久连接才有意义?

  • 772

http://php.net/manual/en/pdo.connections.php 示例 #4 持久连接

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
    PDO::ATTR_PERSISTENT => true
));

让我引用:

持久连接不会在脚本终止时关闭,它们会被缓存并在另一个脚本请求具有相同凭据的连接时重新使用。持久连接允许您避免在每次需要与数据库通信时创建新连接,从而提高此类应用程序的速度。

但据我了解,万一出现问题(脚本阻塞了表),每个人都在等待,只有一个连接。在异常关闭的情况下,打开的事务将继续(目前尚不清楚它们将做什么,因为脚本中没有继续事务的数据)。

问题:

1)我是否正确理解仅在守护进程中使用持久连接是有意义的,例如,守护进程不断地与一个数据库一起工作并在单个实例中启动,即 不互相竞争?

2)在PostgreSQL中,我不止一次听说连接池(connections)似乎使用成功了,但是他们如何绕过与事务相同的问题?

3) 一般来说,对于哪些站点、Web 项目来说,永久连接有意义?

mysql
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Ипатьев
    2020-11-21T20:03:25Z2020-11-21T20:03:25Z

    一般来说,对于哪些站点、Web 项目来说,永久连接有意义?

    对于那些对连接到数据库所需的毫秒数持批评态度的人。

    但是他们如何解决交易中的同样问题呢?

    在持久连接的正常实现中,状态被重置。例如,我不知道 Postgres,但 mysqli 会在每个新连接上调用 change_user() 函数,这会清除连接……这反过来又会增加连接时间,从而降低永久连接的合理性。据我所知,PDO 不会清除连接。

    关于他们在上面的评论中写的恶魔——他们根本不在这里。

    作为总结,您可以写 - 最好不要弄乱持久连接,尤其是在 PDO 中。

    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何停止编写糟糕的代码?

    • 3 个回答
  • Marko Smith

    onCreateView 方法重构

    • 1 个回答
  • Marko Smith

    通用还是非通用

    • 2 个回答
  • Marko Smith

    如何访问 jQuery 中的列

    • 1 个回答
  • Marko Smith

    *.tga 文件的组重命名(3620 个)

    • 1 个回答
  • Marko Smith

    内存分配列表C#

    • 1 个回答
  • Marko Smith

    常规赛适度贪婪

    • 1 个回答
  • Marko Smith

    如何制作自己的自动完成/自动更正?

    • 1 个回答
  • Marko Smith

    选择斐波那契数列

    • 2 个回答
  • Marko Smith

    所有 API 版本中的通用权限代码

    • 2 个回答
  • Martin Hope
    jfs *(星号)和 ** 双星号在 Python 中是什么意思? 2020-11-23 05:07:40 +0000 UTC
  • Martin Hope
    hwak 哪个孩子调用了父母的静态方法?还是不可能完成的任务? 2020-11-18 16:30:55 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    Arch ArrayList 与 LinkedList 的区别? 2020-09-20 02:42:49 +0000 UTC
  • Martin Hope
    iluxa1810 哪个更正确使用:if () 或 try-catch? 2020-08-23 18:56:13 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5