Mysql && Redis 并发问题

数据库:mysql
缓存:redis
有一套兑奖码系统,用户输入兑奖码,程序验证兑奖码是否有效,并给出奖品,兑奖码是唯一的。

用户输入兑奖码,读缓存或数据库,如果查到这个验证码是有效的,设置数据库和缓存兑奖码状态失效,返回奖品给用户。

想问下如何处理两个并发请求验证同一个兑奖码的情况?(只允许一人一个兑奖码)

阅读 3.8k
3 个回答

redis是单线程的,可以满足这个需求

Redis为单进程单线程模式,采用队列模式将并发访问变为串行访问

mysql:可以使用select。。for update实现行级锁。

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