gpt4 book ai didi

python - python中数据库连接池的最佳解决方案是什么?

转载 作者:IT老高 更新时间:2023-10-28 21:56:56 35 4
gpt4 key购买 nike

我已经开发了一些自定义的类似 DAO 的类来满足我的项目的一些非常特殊的要求,我的项目是一个不在任何类型的框架内运行的服务器端进程。

除了每次发出新请求时,我都通过 MySQLdb.connect 打开一个新连接,该解决方案效果很好。

将其切换为在 python 中使用连接池的最佳“直接”解决方案是什么?我正在想象类似 Java 的 commons DBCP 解决方案。

该进程运行时间很长,并且有许多线程需要发出请求,但不是同时发出请求……特别是在短暂爆发出大量结果之前,它们会做很多工作。

编辑添加:经过一番搜索,我找到了 anitpool.py看起来不错,但由于我对 python 比较陌生,我想我只是想确保我没有错过更明显/更惯用/更好的解决方案。

最佳答案

在 MySQL 中?

我想说不要打扰连接池。它们通常是麻烦的根源,并且对于 MySQL,它们不会为您带来您希望的性能优势。这条路可能需要付出很多努力——政治上——因为在这个领域有很多关于连接池优势的最佳实践和教科书式的冗长。

连接池只是无状态应用程序(例如 HTTP 协议(protocol))的后 Web 时代和有状态的长生命周期批处理应用程序的前 Web 时代之间的桥梁。由于前 Web 数据库中的连接非常昂贵(因为过去没有人关心建立连接需要多长时间),后 Web 应用程序设计了这种连接池方案,以便每次点击都不会产生如此巨大的处理开销在 RDBMS 上。

由于 MySQL 更像是 Web 时代的 RDBMS,因此连接非常轻量级和快速。我为 MySQL 编写了许多根本不使用连接池的大容量 Web 应用程序。

只要没有政治障碍需要克服,您可能会受益于不这样做的并发症。

关于python - python中数据库连接池的最佳解决方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/98687/

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