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

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

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

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

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

// 业务异常。

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

} else {

// 生成订单

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

// 构建响应

}

赞(0)
未经允许不得转载:主机测评网 » 高并发怎么保证数据一致性
分享到: 更多 (0)