系列文章目录
文章目录
- 系列文章目录
- 前言
- 在这里插入图片描述
- 一、业务描述
- 二、需求分析
- 三、架构设计
- 关键点
- 拆红包算法 二倍均值算法
- 图解
- 四、编码实现 RedPackageController
- 整体思路:
- 发红包代码
- 进入拆分红包算法
- 抢红包代码
- 五、多学一手
前言
一、业务描述

二、需求分析

三、架构设计

难点

关键点

拆红包算法 二倍均值算法

图解

四、编码实现 RedPackageController
整体思路:
发红包时:红包金额、红包个数传入后端,根据拆红包算法得出每个红包里的金额,存入redis的list
抢红包时:抢红包的用户ID传入后端,先判断ID在hash里是否存在,不存在才能抢,根据list的lpop随机弹出金额,并利用hash记录抢的金额和用户ID,以便记录和判断
拆红包算法:二倍均值算法,每次拆分后塞进子红包的
金额 = 随机区间(0,(剩余金额M ÷ 剩余红包个数N)* 2)
计算好后放入list内
发红包代码

进入拆分红包算法

抢红包代码

五、多学一手
批量删除redis里多余的红包记录

red* 就是red开头的key
全部删除



















