抢红包的需求分析
抢红包的场景有点像秒杀,但是要比秒杀简单点。
因为秒杀通常要和库存相关。而抢红包则可以允许有些红包没有被抢到,因为发红包的人不会有损失,没抢完的钱再退回给发红包的人即可。
另外像小米这样的抢购也要比淘宝的要简单,也是因为像小米这样是一个公司的,如果有少量没有抢到,则下次再抢,人工修复下数据是很简单的事。而像淘宝这么多商品,要是每一个都存在着修复数据的风险,那如果出故障了则很麻烦。
基于redis的抢红包方案
下面介绍一种基于Redis的抢红包方案。
把原始的红包称为大红包,拆分后的红包称为小红包。
1.小红包预先生成,插到数据库里,红包对应的用户ID是null。生成算法