使用mango时遇到的连接断开问题

一、背景

在使用mango时,测试环境遇到了一种奇怪的问题,程序测试一段时间之后,连接断开了,导致数据库查询失败。

二、原因

由于使用了事务,在发生异常之后,事务没有提交。已经开始了事务,但是在开始事务的时候,设置了事务提交为非自动,在发生异常之后,连接一直是使用状态,最后导致连接池中的连接都耗尽,无可用连接使用。连接在一段时间内没有执行完,会超时断开。在使用mysql5版本之后,设置autoConnect=true不起作用,导致连接池中所有的连接都断开了。

三、原理分析

事务处理的原理,1.获取数据库连接,2.设置事务不自动提交,3.执行curd,4、提交事务,5、关闭连接

在使用数据库连接池的时候,连接不会断开,而是会有活跃状态变为闲置状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用MongoDB,可以获得以下几个方面的优势: 1. 高可扩展性:MongoDB是一个分布式数据库系统,可以通过简单地添加新节点来水平扩展数据存储和处理能力。这意味着当数据量增加或负载增加,可以轻松地扩展数据库以满足需求。 2. 灵活的数据模型:MongoDB采用了文档存储模型,即使用类似于JSON的BSON(二进制JSON)格式来存储数据。这种数据结构的灵活性使得可以轻松地存储不同结构和类型的数据,而无需预先定义模式。这对于需要频繁更改数据结构的项目非常有用。 3. 高性能:MongoDB具有高性能的读写操作,特别是在大量并发读写的情况下。它通过在内存中使用索引和数据进行操作,以及使用复制和分片来提高读写性能。此外,MongoDB还提供了一些查询优化和索引策略,以帮助优化查询性能。 4. 强大的查询语言:MongoDB支持丰富的查询语言,包括复杂的嵌套查询、范围查询、正则表达式查询等。它还提供了一些高级功能,如文本搜索和地理空间查询。 5. 可靠的数据复制和高可用性:MongoDB支持数据的自动复制,以及自动故障转移和容错。这意味着即使在硬件故障或其他故障情况下,数据库仍可以继续运行,从而提供高可靠性和可用性。 综上所述,选择使用MongoDB作为数据库可以带来高可扩展性、灵活的数据模型、高性能、强大的查询语言以及可靠的数据复制和高可用性等优势。这使得MongoDB成为了许多应用程序的首选数据库解决方案之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值