采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
先不管消息发没发成功,我们是stock >= #{amount}才去扣,扣除失败那就是没有扣吧?为什么要加回来呢?不会加多了吗?
扣除成功下单或发消息失败才会去加redis
老师,最后else加的操作是对的吗? //这里是redis先减库存,如果redis减成功就做if,如果没有减成功就走else //如果redis发生错误没有减成功,那为什么还要再给它加库存 Long result = redisTemplate.opsForValue().increment("promo_item_stock_" + itemId, amount.intValue() * -1); if (result>=0) { //缓存更新库存成功 //省略代码 }else { //缓存更新库存失败 redisTemplate.opsForValue().increment("promo_item_stock_" + itemId, amount.intValue()); return false; }
登录后可查看更多问答,登录/注册
理解高流量电商网站性能构建思路 用高逼格技术解决性能提升问题
1.8k 11
1.3k 10
1.7k 9
1.2k 9
1.1k 8