我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合特肖 > 访问控制字段 >

数据库防止多人同时操作的问题

归档日期:05-23       文本归类:访问控制字段      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部并发读脏数据的问题:以Mysql环境为例 针对1,采用双表枷锁。假设已经有Key表

  由于在写入的时候锁是互斥的,所以再建立一个表,只保存一个字段即可,就是一个自增的id,当有操作需要申请Key的时候,先在这个表里插入一条空数据,这样返回一个mysql分配的自增的id,用这个id去第一个表里取相应该id的Key就可以了。

  不会出现多个用户得到同样Key的解释是,此时多个并发的操作肯定可以得到不同的id,因为在插入的时候写锁是互斥的,并发的多个操作要想写数据库,就会阻塞排队,第一个操作写入后,释放了该锁,获得mysql分配的id,其后的操作需要执行insert操作,mysql就会将这个操作顺序插入数据库的不同行,返回不同的id,此时虽然操作是并发的,同时到达的,但对于mysql来说,是一条一条执行插入语句,所以当然操作的是不同的行,返回不同的id,这样在第一个表里找到的就是不同的密码,用户分配到的也是不同的Key。

本文链接:http://shawntierney.com/fangwenkongzhiziduan/395.html