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

如何处理高并发发红包的场景?

如何处理高并发发红包的场景?

PHP
慕的地10843 2019-03-06 10:51:19
问题描述 由于公司有答题发红包活动的需求,活动相当于是送红包,也不存在抢红包的概念。就是每日有一个限额,比如一万。对于发红包的业务来说,必须要用事务加上锁比较合适,但是看了网上的解决方案,大多是推荐用乐观锁,但是乐观锁存在有被驳回的情况。由于我们的需求是只要是答对就发红包,而题目基本就是送分题,所以导致发红包的量很大 问题出现的环境背景及自己尝试过哪些方法 最早没有用锁机制就会发现往往会超发几块钱,后面加了排它锁,发现数据库执行会边长,并发量一大就会导致阻塞。
查看完整描述

6 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

可以考虑将1万个红包的code写入redis。答对之后之前从redis取出数据,并发操作由redis保证

查看完整回答
反对 回复 2019-03-18
?
HUH函数

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

乐观锁会有驳回的情况,可以考虑使用重试解决。

查看完整回答
反对 回复 2019-03-18
?
至尊宝的传说

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

加个倒计时打开红包试试

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

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

redis原子操作,了解一下?

查看完整回答
反对 回复 2019-03-18
?
明月笑刀无情

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

我也推荐使用redis来做这个红包发放的判断,可以很好的应对高并发的场景

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

添加回答

举报

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