2016 - 2025

感恩一路有你

什么是数据库 高并发下怎么做余额扣减?

浏览量:2164 时间:2021-03-12 20:49:13 作者:admin

高并发下怎么做余额扣减?

这种高并发只是应用层的高并发,这和其他应用一样是不可避免的。如果企业要发展,必然会有更多的用户出现这种现象。其中一个措施是使用分布式部署集群负载平衡。

如果代码级别处理不当,数据库会被长时间锁定,操作会被长时间阻塞,影响整个系统的稳定性。

不要从数据库中读取余额,减去扣除额,然后将其存储在数据库中!这种代码级的操作数据肯定会有脏数据。

悲观还是乐观取决于设计需要。

这主要是由于代码级别的合理设计。在获取行锁之前和事务外部执行一些不必要的耗时操作,以减少每个请求行锁的占用时间。这样,性能将得到显著提高。

这种方法是基于流程细节来计算平衡,可靠性高,但不适合实时性要求高的系统。

mysql数据库事务是什么,能简单定义一下吗?

我看过很多关于交易的官方定义。简而言之,MySQL事务实际上是SQL语句的集合。它们是同一根弦的蚱蜢。要么成功,要么彻底销毁

需要注意的是,只有InnoDB是MySQL中支持事务的数据库引擎。

使用事务处理一组SQL操作可以确保数据库的完整性。举一个非常常见的例子:

银行转账业务:用户a将1000转账给用户B

sql1:用户a-1000;

SQL2:用户B 1000;

如果两个SQL都执行成功,则表示这里的转账业务成功;

如果sql1执行成功,则在SQL2执行期间会发生异常。然后将回滚sql1执行的结果。否则,就会出大问题

!使用事务可以确保sql1和SQL2的执行结果是一致的。

还有一个非常重要的一点,就是高并发下的事务处理,并发协商下的事务操作可能出现脏读、虚读、更新缺失等情况;我们需要调试事务的隔离级别来进行相应的处理

(事务隔离级别:serializable,repeatableuread),submit Read(Read)ucommitted,uncommitted Read(Read)如果数据量太大,比如数亿,请使用oracle。数亿数据的优势对于甲骨文来说是轻量级的,不需要过多的优化配置。缺点是安装麻烦,启动慢。

2. 数据量很大,比如上千万的数据。使用PostgreSQL,也就是众所周知的标杆Oracle,可以处理数千万的数据,而且也很容易学习和使用。

3. 数据量一般,如百万级。使用MySQL,MySQL可以快速处理这个级别的数据量。

4. 数据量小,比如不到10万,SQLite和access都可以。

以上是基于单表操作的数据量。你可以从中选择。

什么是数据库 数据库 高并发查询数据库

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。