如果HTTP连接是无状态的,数据库连接池如何为webapps工作?

时间:2009-08-05 23:59:59

标签: database

这是我无法理解的。许多Web框架在内部使用数据库池。如果HTTP连接是无状态的,我无法理解数据库池如何在那里工作?我可以想象数据库池只能用于Keep-Alive的连接吗?

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:5)

Web服务器维护与数据库建立连接的“池”。对于每个HTTP请求,它可以从池中获取一个已存在的连接,以便在该一个请求期间使用。这可以提高性能并减少服务器负载,因为Web和数据库服务器不需要为每个请求打开新连接(这可能会产生大量开销)。使用数据库连接的方式,它们也是无状态的。 Web服务器获取其中一个连接,运行一些查询,将连接放回池中。

答案 1 :(得分:2)

Web应用程序可能在其生命周期内接受多个HTTP连接。初始连接将建立DB句柄,并且后续连接到同一应用程序将重新使用它。