gpt4 book ai didi

python - 在 app.on_event ('startup' 中连接到数据库与在 FastAPI 中的依赖项之间的区别

转载 作者:行者123 更新时间:2023-12-04 07:42:10 26 4
gpt4 key购买 nike

在Tiangolo 的FastAPI 中,它声明您可以使用依赖项创建持久数据库连接

https://fastapi.tiangolo.com/tutorial/sql-databases/#create-a-dependency

但是,在异步数据库文档中,数据库是在应用程序启动时连接的

https://fastapi.tiangolo.com/advanced/async-sql-databases/#connect-and-disconnect

在编码/数据库文档中遵循相同的模式

https://www.encode.io/databases/connections_and_transactions/

哪个是正确的模式?在我看来,使用依赖项,每个 API 调用将创建一个数据库连接,而在启动期间连接数据库将为每个工作人员建立一个数据库连接。如果这是正确的,那么在启动时连接到数据库会好得多。

两者有什么区别,哪个更好?

最佳答案

我不会详细介绍每个数据库库。我只想说大多数现代工具都使用连接池。他们以显式或隐式的方式执行此操作,隐藏在您的第一个链接中的某些抽象之后,例如 Session

在您的所有示例中,连接池都是在应用程序启动时创建的。并且在创建session时,没有建立新连接的繁重操作,只是从池中取出一个连接,当session关闭时,将连接归还给池。

关于python - 在 app.on_event ('startup' 中连接到数据库与在 FastAPI 中的依赖项之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67403995/

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