为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 如何先进先出处理高并发问题

PHP 如何先进先出处理高并发问题

PHP
桃花长相依 2019-03-12 15:12:19
例如投票只能投一次,程序先搜索他有没有投过票,没有的话就插入记录如果该用户用并发工具投票,检查时候,多个请求都没有查到数据,就能投多票 能否把{select insert}这段代码打包先进先出,只能一个用户进去执行这段代码
查看完整描述

3 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

将投票信息存储到redis队列中,并且以第一次投票为准,后面再投票就去redis中查,有则拒绝投票,前端在点击按钮后使其失效

查看完整回答
反对 回复 2019-03-18
?
浮云间

TA贡献1829条经验 获得超4个赞

用redis锁,确保单进程,网上都有的,利用redis的原子性

查看完整回答
反对 回复 2019-03-18
?
POPMUISE

TA贡献1765条经验 获得超5个赞

队列了解一下,搭配redis,用一个list维护队伍,每个投票请求到达后rpush到list里,然后理解回复成功。服务器端终端运行php脚本,while一个loop,blpop list,获取信息并进行处理。这样每次就处理一个。

查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 539 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信