老师,请问Redis事务中如果有超时未支付的订单会怎样处理呢?

来源:6-7 秒杀业务相关面试题【莫慌,难不倒我们】

阿加莎信徒

2020-03-23

老师,可以这样理解吗:下单时会减库存同时也会保存用户信息,如果有超时未支付订单,则会修改kill_num和kill_list,秒杀页面也会显示还有库存?
老师,实际情况中,kill_list列表是不是还包含用户的支付情况和地址等信息,当秒杀结束后,会对应着kill_list表生成数据库中的订单,再进行后续业务。
不知道我有没有表述清楚😂️

写回答

1回答

神思者

2020-03-23

订单分为 3 个状态:

第一种 初始化(抢到未付款-扣减库存),

第二种 支付中(正在支付),

第三种  支付成功/失败(成功不会滚库存,失败才回滚),

在第二种支付状态的时候不参与 15 分钟超时回滚的定时任务 或者 重新计时(这个时间是订单超时的时间)。

在秒杀的过程中就可以在数据库中生成订单信息。如果在Redis里面缓存订单,不利于用户去掉订单后的恢复库存

0
3
阿加莎信徒
回复
神思者
谢谢老师?️
2020-03-23
共3条回复

Java工程师岗 应届毕业生春招和秋招项目面试课

如何在项目面试中让面试官“眼前一亮”,“面试真经”双手奉上!

719 学习 · 222 问题

查看课程