优惠券改编,缓存图
2019-05-30 16:50:18 0 举报
点点滴滴
作者其他创作
大纲/内容
code和手机号成功绑定并入库
用户领取优惠券
查询数据库数据
绑定code和用户记录
redis,常驻缓存,方便使用
优惠券1
优惠券4·····
领取优惠券
请求提取一个code码缓存数据
是
redis正常存在
只提取redis数据
抽奖抽中优惠券
设置的coupon_look缓存锁关闭
优惠券3
从领取队列中get_coupon_queue
将code添加到数据缓存中
定时脚本自动发放优惠券
发放优惠券
筛选出符合条件的手机号
加入领取队列get_coupon_queue_优惠券id
否
db
异常提示
开启缓存锁
生成优惠券code
用户通过code兑换优惠券
根据提供的手机号绑定优惠券code
将get_coupon_receive_专题id领去请求记录缓存数据剔除
后台工具领取优惠券
关闭缓存锁
get_coupon_queue缓存中包含了领取phone手机号,领取优惠券code,领取对应专题id,领取时间,领取优惠券id;
将成功领取的手机号添加get_coupon_existence_专题id已领券的缓存数据中
coupon_date_code_list根据限定失效时间,存储于缓存中
订单入库或者发放时,绑定用户手机号
code队列数据缓存coupon_code_list
redis的生成方案,和失效机制解决方案
客服,运营通过后台发放优惠券
批量上传手机号
发送绑定成功短信
不存在已经领取缓存中get_coupon_existence_专题id
优惠券2
1,限定日期的优惠券,自创建开始到失效时间;留存于redis缓存中2,限定时效的优惠券,自创建长期有效,没有失效时间;常驻redis缓存中3,限定时效优惠券,在缓存中存优惠券的个数,用户记录用户领取个数
启动发放程序
不存在领取请求缓存中get_coupon_receive
get_coupon_queue:用户领取优惠券缓存队列;(缓存与活动时间相关)get_coupon_receive_专题id:用户领取暂存队列,判断用户重复发送请求;(领取成功后会释放)get_coupon_existence_专题id:已经领取优惠券的用户缓存;(缓存的实效跟随活动时间)coupon_code_list:优惠券未领取code码数据缓存(缓存的时效跟随优惠券的有效期,常驻缓存)
coupon_code_list时效优惠券缓存组,常驻缓存
记录绑定失败表
0 条评论
下一页