9+1、秒杀流程
2021-01-22 10:47:14 34 举报
jjj
作者其他创作
大纲/内容
Y
判断用户是否已经秒杀过
通过秒杀商品ID从redis(“\"seckill_goods\"”)中获取该秒杀商品的开始时间和结束时间
用户点击【秒杀】(入参秒杀商品ID)
获取redis中的用户信息,存入到ThreadLocal“user”:user
验证登录信息
N
读取用户秒杀订单表rediskey:\"seckill_order\" value :hash key:userid_goodsID+\"_order\"span style=\"font-size: inherit;\
redis存入用户下订单的次数的记录key:userID_goodID+\"_count\"value:次数
1.生成一个登录令牌2. 存储登录信息(服务端存入redis:key:\"login_+\"token value:user浏览器端存入cookie(key:\"login_token\" value:token))
读取redis中商品库存量\"seckill_nums\"-- goodsID
判断秒杀行为是否在秒杀时间内(秒杀时间拦截器)
判断是否登录过(登录拦截器)
判断秒杀行为是否超过次数,防止恶意刷单(秒杀次数拦截器)
结束
1.生成一条秒杀记录2.修改库存量(\"seckill_nums\" -- goodID)
同步库存/订单定时器:1.库存量为0的商品进行同步数据库2.超过秒杀时间同步数据库,并将redis中相关秒杀商品信息删除,数据库秒杀商品状态改为下架
(登录页面)输入账号密码/手机号+验证码/第三方
判断是否还有库存,目的解决超卖(库存拦截器)
0 条评论
下一页