为什么使用Singleton来管理数据库连接?

10 database

我知道在此之前已经有人问过这个问题,但是我无法得到一个明确的解释,所以我将再次推销它.那么使用单例来控制Web应用程序中的数据库连接有什么大惊小怪的呢?有些人喜欢它,有些人讨厌我不理解它.从我所读到的,"这是为了确保始终只有一个与您的数据库的活动连接".我的意思是为什么这是一件好事?一个数据驱动的Web应用程序上的1个活动数据库连接处理每秒多个请求的麻烦不是吗?无论出于何种原因,没有人可以正确解释 我一直在网上.我知道我很厚.

Mic*_*ren 0

你是对的——通常这不是你想要的。

然而,在很多情况下,您需要将自己限制为单个连接。通过单例序列化对数据库的访问,您可以解决其他问题或约束,例如负载、带宽等。

我过去曾为批量处理应用程序做过类似的事情。不过,我使用信号量来同步对数据库的访问,这样我就可以允许 n 个并发数据库操作。