数据库并发问题

liangpei2008 2012-08-22 09:31:18
背景:
1.我在做一个限量抢购的功能,例:每天只放10件物品,即:每次都要先统计一下每天的发放数量,而后再做更新处理。这时就可能会遇到数据库并发问题。例如,N个进程同时访问到数量,造成数据不准。
2.数据表可以用innodb
3.前端用PHP

问题:
这种情况我是用事务,还是用LOCKTABLE ?
1.如用事务,会不会存在N个PHP进程同时启动该事务?造成死锁?
2.如用LOCKTABLE,能否把READ锁加上,保证同一时间只能由一个进程访问该表。
...全文
173 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rotel-刘志东 2012-08-26
  • 打赏
  • 举报
回复
事务去解决,先锁记录,提交后,锁的释放,下一次再提交。
wwwwb 2012-08-23
  • 打赏
  • 举报
回复
一般用事务,先锁记录(其它用户等待),提交后,释放锁,下一次提交
Rotel-刘志东 2012-08-23
  • 打赏
  • 举报
回复
这种情况得用事物处理。
liangpei2008 2012-08-23
  • 打赏
  • 举报
回复
如果用.NET 或Java用Synchronized来实现并转串访问,PHP不了解如何做,所以才想到在DBMS层实现。
请问ACMAIN_CHM,如果用事务,能否保证多个并发的连接安全地串行访问?谢谢
ACMAIN_CHM 2012-08-22
  • 打赏
  • 举报
回复
用事务

rucypli 2012-08-22
  • 打赏
  • 举报
回复
1 可能
2 如果人工用锁的话 可能会导致很多用户出现等待状态
如果真的做成抢购,而不是伪抢购模式,我怕到真的抢购的时候数据库会瘫掉
rucypli 2012-08-22
  • 打赏
  • 举报
回复
貌似淘宝在做类似抢购的业务的时候在前端就挡掉大部分的请求

56,912

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧