开发者社区> 问答> 正文

求MySQL单库在高并发下通过读取数据判断是否写入数据的替代方案?

环境:mysql5单库(innodb),php5,nginx

现在的逻辑判断如下:

通过mysql进行查询,有数据不进行任何操作,无数据进行写入一条新数据

问题:当并发量大的时候,mysql会同时插入相同的数据3条左右,也就是说mysql做不了这样的逻辑处理。

我的解决办法:根据来访用户的session写入一个标记,如果有标记则不进行下面的数据库操作,但是还是不能挡住重复数据的出现。

请教大家有没有其他的办法解决我遇到的问题?(消息队列做这个可以吗?如果不用消息队列用Redis做标记(逻辑类似上面的session)的话是否可行?再高并发的情况下Redis是否也会出现类似MySQL的情况)

展开
收起
小旋风柴进 2016-03-11 12:51:15 3446 0
3 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
徐雷-Java为王,互联网高并发架构设计与选型之路6.0 立即下载
Redis 的高并发实战:抢购系统 立即下载
MySQL高并发场景实战 立即下载

相关镜像