当前位置:网站首页>解决并发问题方案流程及原理总结(表单重复提交问题)
解决并发问题方案流程及原理总结(表单重复提交问题)
2022-04-22 16:25:00 【qq_17023977】
借助数据库
insert使用唯一索引 update使用 乐观锁 version版本法
这种在大数据量和高并发下效率依赖数据库硬件能力,可针对非核心业务
乐观锁方式1:版本控制+自旋*(自旋哪里体现)*
考虑到这些更新冲突发生概率其实并不高。这里使用数据库乐观锁来实现
原理就是基于CAS,比较并交换数据,如果发现被更新过了,直接更新失败
然后加入自旋(自循还)接着更新,直到成功。乐观就在于我们相信冲突发生概率低
如果发生了,就用一种廉价的机制迅速发现。快速失败。
我们来讨论如何实现它,数据库表GoodsSale新增一行data_version来记录数据的更新的版本号。新的表结构如下:

GoodsSaleDao#uodateCount对应的mapper的SQL语句进行调整,数据更新的时候同时进行大data_version = data_version+!,执行这个sql时候已经对数据上了行锁了,所以这个data_version加1的操作为原子操作

1.行锁和表锁
在mysql的InnoDB引擎支持行锁,与Oracle不同,mysql的行锁是通过索引加载的,即是行锁是加在索引响应的行上的,要是对应的SQL语句没有走索引,则会全表扫描,行锁则无法实现,取而代之的是表锁。
Mysql 领域的innodb存储引擎支持行级锁,innodb的行锁是通过给索引项加锁实现的,这就意味着只有通过索引条件检索数据时,innodb才使用行锁,否则使用表锁。
根据当前的数据更新语句(UPDATE user set name=‘11111’ where account=‘1’),该条件字段account并没有添加索引,所以导致数据表被锁。
版权声明
本文为[qq_17023977]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_17023977/article/details/124109216
边栏推荐
猜你喜欢

343-Leetcode 反转字符串中的元音字母

1016 Phone Bills (25 分) 测试点1,2

TCP / IP protocol IV TCP protocol (I) - Theory + practice to make it clear to you

【洛谷】P1157 组合的输出(dfs)

国标GB28181视频平台EasyGBS关闭了录像计划,为何还有录像文件生成?

SolidWorks insert socket head cap screw

Algorithm:实现LDA的Gibbs Gauss采样(绘制多图subplot)

Hash table (II)

Transformer architecture: the positional encoding

It's too voluminous ~ (2022 version) large factory face experience + detailed notes to help you finish the interview
随机推荐
JUC (III) ThreadLocal
Servlet Foundation
Do short videos from media can't earn q? Teach you 6 moves
All the goods in the files backed up by Taobao assistant were put on the shelves again
华为机考题——HJ54 表达式求值
7-inch touch screen screen calibration parameter setting
Typescripts Promise
Three dimensional model of power conductor
Times superior AC servo driver settings
Parameter setting of Sanke inverter pipe bender
小练习:二分查找及实现
华为交换机配置
时代超群交流伺服驱动器设置
Abbexa丨3,5-二溴酪氨酸说明书
产业调研:厂商视角看国产数据库发展趋势
【洛谷】P1157 组合的输出(dfs)
JUC(三)ThreadLocal
[experience sharing] Why is the green screen displayed after the video picture decoding fails?
HMS Core Discovery第14期回顾长文|纵享丝滑剪辑,释放视频创作力
Ten thousand yuan gift pool! Play "Lighthouse" award-winning essay attack