gpt4 book ai didi

php - 如何在第一次查询之前阻止 PDO 建立连接?

转载 作者:搜寻专家 更新时间:2023-10-31 20:43:23 26 4
gpt4 key购买 nike

我在每次执行脚本时建立与数据库的连接。这是通过将 PDO 实例分配给全局 $db 变量然后传递给 Controller ​​来完成的。

$db = new \ay\pdo\PDO('mysql:dbname=foo;charset=utf8');

但是,因为有缓存逻辑层,95%的请求不需要执行单个查询。虽然建立连接的 5 毫秒可能看起来并不重要,但它是请求时间的 30%。当每分钟处理多达 20 万个请求时,这是一个很大的数字。

app

我只想在有查询要执行时才建立与数据库的连接。在不对脚本造成重大开销的情况下实现此目标的推荐方法是什么?

最佳答案

您可以/可以使用代理设计模式。因此,当您第一次请求数据时,它将处理/创建与数据库的连接。

因此,您可以直接使用 PDO 创建代理对象,当有查询时,它会创建到数据库的连接,并查询它(延迟加载),然后稍后它会重用相同的 PDO 对象。

http://en.wikipedia.org/wiki/Proxy_pattern

http://en.wikipedia.org/wiki/Flyweight_pattern

代理示例:https://github.com/ezimuel/PHP-design-patterns/blob/master/Proxy.php

关于php - 如何在第一次查询之前阻止 PDO 建立连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17121377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com