Database 数据库和连接
我感兴趣的是了解数据库如何处理启动连接的实体未显式关闭的连接Database 数据库和连接,database,database-connection,Database,Database Connection,我感兴趣的是了解数据库如何处理启动连接的实体未显式关闭的连接 假设我有一个一次只能接受2个并发连接的数据库。我有一段代码可以打开一个连接,但永远不会关闭它。这段代码永远运行,但它在其生命周期中只使用连接一次,但连接对象从未超出范围,因此它不会被垃圾收集。假设我运行了这段代码的两个实例。这是否意味着在程序终止或连接超时(由于不活动)之前,数据库不能接受更多的连接 在上面的场景中,如果连接对象是垃圾收集的,那么连接是自动终止的,还是依赖于我正在使用的数据库驱动程序,或者连接在我显式关闭之前根本不会终
按顺序回答您的问题:
数据库连接的底层协议通常基于TCP/IP。可以通过以下几种方式之一终止连接:
- 操作系统的配置限制李>
- 该进程允许的最大文件描述符(减去用于I/O活动的任何描述符);及
- (可能)连接限制的系统设置或策略