幂等 · Idempotency
英文:idempotency(重音在 den)
后端与数据库难度:硬核 ★★★
🗣️一句话大白话
同一个操作执行一次和执行一百次,结果都一样。「设置头像为 X」是幂等的(重复设置无妨);「余额减 100」不是幂等的(重复扣就是事故)。
🎬真实场景
网络抖动,客户端自动重试了支付请求——没有幂等保护,用户被扣两次钱。做法:每个支付请求带唯一单号,服务端看到重复单号直接返回上次结果,不再扣。
📮你可以这样说
「「支付、创建订单这类接口要防重复提交:请求带唯一的幂等键,服务端按键去重,重复请求返回第一次的结果而不是再执行一次。」」
⚠️边界与常见误解
- ▸查询类操作天然幂等;危险的是「创建类」和「扣减类」操作
- ▸前端防抖只是体验优化,真正的防重必须在服务端
- ▸让 AI 说明哪些接口做了幂等、用什么键去重