系列文章目录
文章目录
前言
一、业务描述
二、需求分析
三、架构设计
难点
关键点
拆红包算法 二倍均值算法
图解
四、编码实现 RedPackageController
整体思路:
发红包时
:红包金额、红包个数传入后端,根据拆红包算法得出每个红包里的金额,存入redis的list
抢红包时
:抢红包的用户ID传入后端,先判断ID在hash里是否存在,不存在才能抢,根据list的lpop随机弹出金额,并利用hash记录抢的金额和用户ID,以便记录和判断
拆红包算法
:二倍均值算法,每次拆分后塞进子红包的
金额 = 随机区间(0,(剩余金额M ÷ 剩余红包个数N)* 2)
计算好后放入list内
发红包代码
进入拆分红包算法
抢红包代码
五、多学一手
批量删除redis里多余的红包记录
red* 就是red开头的key
全部删除
版权声明:本文为qq_44739758原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。