010--【秒杀】超卖解决方案

2019-08-25  本文已影响0人  糖纸疯了

1、写作背景

在进行秒杀(即使不是秒杀),在高并发的购买情况下,会出现超卖现象,这个应该是完全不应该的,现在就进行避免

2、解决方案

UPDATE T_SEC_GOODS SET NUM=NUM-#{num} WHERE SKU=#{sku} AND NUM-#{num}>0

1)先从redis中查询数据,
2)判断库存数量
3)进行数据库更新操作
4)进行redis更新操作(一定在最后)

1)每次访问的时候,对redis中的用户请求进行redis自增操作,如果太频繁就加入黑名单
2)操作的时候判断用户IP是否在很名单上

为了减少redis的访问,使用内存值进行判断

3、设计流程图


上一篇下一篇

猜你喜欢

热点阅读