看到业界处理库存超卖的问题有两种 :
直接 innodb 行事务保证
使用 redis + lua 实现查询和扣减的事务操作
目前我是采用第一种方式实现 。 不过随着业务量的上涨 db 有些吃不消 所以想上缓存。
目前翻阅了很多资料, 讲的大部分都是 将库存同步到缓存 ,再缓存中扣减库存。 可是缓存中的库存是如何同步到 db 中的呢 ?
按照分布式缓存的策略 ,
读: 查缓存 ,没有则读db同步到缓存
写:写db 、 清空缓存
可是 ,如果这种策略无法使用到库存中去 ,所以想请教下大家对于 库存缓存和db数据一致性是如何解决的? 库存回滚呢?