开发者社区> 问答> 正文

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

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

现在的逻辑判断如下:

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

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

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

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

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

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像