帮忙么网 > 项目 > 当前页面

面试官让我设计一个秒杀系统

2024-10-07 NEW个对象

秒杀系统需要解决哪些问题,这里列几个关键性的问题:


1、高并发的瞬时流量

2、库存扣减

3、重复下单

4、热点数据


1、如何解决高并发的瞬时流量:


限流、多级缓存架构


2、库存扣减


cas数据库扣除,redis lua脚本扣除


3、重复下单


每个页面一个token,请求的时候携带token


4、热点数据


存在redis里


5、如何解决用户下一单或用户N单的问题


在写redis lua脚本扣除商品缓存时候,进行重复下单或N单的检测。


下一单:在下单的时候,将用户id,添加到set结构里,然后判断id是否在set里,判断用户是否下过单。

下N单:redis的key设置为seckill:userid:xxx,值为下单的数量,在下单的进行判。incrby进行加法操作。


上一篇:

下一篇:

相关文章

  • 面试官让我设计一个秒杀系统

    秒杀系统需要解决哪些问题,这里列几个关键性的问题: 1、高并发的瞬时流量 2、库存扣减 3、重复下单 4、热点数据

    NEW个对象 2024-10-07

推荐文章