代码改变世界

随笔分类 -  手游项目经验

单用户的一次并发[原创]

2012-07-26 14:14 by tetang1230, 352 阅读, 收藏,
摘要: 线上竟然爆出fata error!Duplicate entry'52549023' for key 'userid'这是如何产生的呢?贴一张图,然后慢慢解释。这是apache access log上的截图, 可以从访问时间,userid看出这是来自一个用户的并发请求!时间相同,用户相同。那么这是如何产生的呢?首先这个链接的访问都来自一个按钮的click操作, 当这个用户第一次点击之后,立即点击了第二次!这样便产生了一个并发请求!所点击的页面的逻辑是这样的: 先上数据库查询,如果数据库没有记录,再去做insert操作,其中为userid字段建立了唯一索引。 两次 阅读全文