高并发怎么保证数据一致性

lewis 2019-04-14 30次阅读

使用redis本身的原子性操作库储存。

//redis会返回操作之后的结果,这个过程是原子性的

LongcurrStock=redisTemplate.opsForHash().increment("key","stock",-1);

if(currStock<0){//说明库存已经扣减完了。

//业务异常。

log.error("[抢购下单]无库存");

}else{

//生成订单

//发布订单创建成功事件

//构建响应

}




发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。