文章摘要:高并发怎么保证数据一致性 高并发如何保证数据一致性
使用redis本身的原子性操作库储存。 // redis会返回操作之后的结果,这个过程是原子性的 L […]
使用redis本身的原子性操作库储存。
// redis会返回操作之后的结果,这个过程是原子性的
Long currStock = redisTemplate.opsForHash().increment("key", "stock", -1);
if (currStock < 0) { // 说明库存已经扣减完了。
// 业务异常。
log.error("[抢购下单] 无库存");
} else {
// 生成订单
// 发布订单创建成功事件
// 构建响应
}