idempotent 幂等是什么意思?

此一數學術語由拉丁語詞根組合而成:

  • idem:相同、同一個
  • potent:有能力的、有作用的,源自「力量、冪」

合起來大致意為「保持同樣作用」或「重複作用,效果不變」。

實例

例如「將訂單狀態設定為已付款」:

第一次執行:

未付款 → 已付款

網路逾時後,客戶端無法得知是否成功,於是再次執行一次:

已付款 → 已付款

無論執行一次或十次,最終結果都是「已付款」,不會重複扣款。這就是冪等性(Idempotence)。

相反地,「從帳戶扣除 100 元」通常並非冪等操作:

執行一次:餘額減少 100 元  
執行兩次:餘額減少 200 元

因此,支付系統通常會為每次付款設定唯一的訂單編號或請求編號;當相同編號被重複提交時,系統直接回傳第一次處理的結果,以避免重複扣款。