
数据库
文章平均质量分 79
麦麦(⊙o⊙)
这个作者很懒,什么都没留下…
展开
-
并发导致重复数据与id生成器生成id冲突解决方法
用户注册流程大致流程是:判断手机号是否存在,不存在则新增;id生成依赖micro-basic-service微服务的id生成器,拿到id后用户中心服务再执行插入用户记录。虽然加了事务,此流程并发会时会存在一些问题。并发场景:第一个问题:id生成失败micro-basic-service 会报id生成失败。原因:两个事务/进程同时来到第④步,假如查到的table_id=10,然后进程1率先执行第⑤步,把table_id自增1最终为11;此时,进程2执行到第⑤步,设置table_id = 11,原创 2021-06-15 21:30:24 · 2814 阅读 · 2 评论 -
数据库 for update的作用
for update 的作用select加了for update ,则不需要显式指定事务开启set autocommit=0;start transaction ;其他进程或事务想要执行修改,则需要加了 for update 的事务提交后方可成功。原创 2021-06-15 14:46:56 · 3070 阅读 · 0 评论