欢迎光临
我们一直在努力

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

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

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

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

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

// 业务异常。

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

} else {

// 生成订单

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

// 构建响应

}

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。