一道php面试题设计任务,没有固定答案。

一个很活跃的投票系统,平均每天2000万人通过此程序投票,设计一个限制程序,要求每个QQ10分钟内仅限投5票

阅读 2.5k
4 个回答

10分钟限投5票,可以查找该qq号最近5次投票,查出来少于5次允许投票,查出来等于5次的话,最早的一次距现在小于10分钟的话禁止投票
单日2000万,可以考虑把每个qq最近5次投票记录放到redis里。

Redis 加个计数器,统计次数。这个计数器的 key 设置过期时间10分钟。

把投票qq放入redis,有效期10分钟,投票时判断redis中该qq已有次数

投票了存在redis 用nginx+lua脚本 限制访问 这样在nginx就限制了 并发没有问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题