上一个随笔中的代码压测很低,因为都是对数据库操作,数据库支持的并发数量不高,可以选用redis作为数据库
1.举个例子,每次查询库存数量的时候,可以从redis里面查询对应的商品剩余数量,然后对redis的数据进行减库存
2.如果数据库没有生成订单抛出异常,可以在抛异常的地方把redis的库存数据进行还原,这样就可以保持数据库的一致性
3.在redis中的库存数量少于0时,也需要进行还原,因为redis执行的速度快,可能有库存时抛的异常时还原的库存是在没库存时往redis中减去1的基础上还原的,这样有库存时还原的库存也就没有了意义(猜测,需要验证)