什么是幂等运算?


当前回答

相当详细和专业的回答。只是添加了一个简单的定义。

幂等=可重复运行

例如, 如果多次执行Create操作,则不能保证运行时没有错误。 但是如果有一个CreateOrUpdate操作,那么它声明了可重运行性(等幂)。

其他回答

对于工作流管理器(如Apache workflow),如果管道中的幂等操作失败,系统可以自动重试该任务而不影响系统。即使日志发生了变化,这也很好,因为您可以看到事件。

在这种情况下,最重要的是您的系统可以重试失败的任务,并且不会弄乱管道(例如,每次重试都在表中添加相同的数据)

任何操作,每n个结果都会产生与第1个结果值匹配的输出。例如,-1的绝对值是1。-1的绝对值的绝对值是1。-1绝对值的绝对值的绝对值等于1。等等。请参见:什么时候使用递归是非常愚蠢的?

对集合的幂等运算在应用一次或多次时,其成员保持不变。

它可以是像absolute(x)这样的一元运算,其中x属于一组正整数。这里absolute(absolute(x)) = x。

它可以是一个二进制操作,比如集合与自身的并集总是返回相同的集合。

干杯

简而言之,幂等运算意味着无论你做多少次幂等运算都不会得到不同的结果。

例如,根据HTTP规范的定义,GET、HEAD、PUT、DELETE是幂等操作;但是POST和PATCH不是。这就是为什么有时POST被PUT取代的原因。

幂等运算即使调用多次也会产生相同状态的结果,前提是传入相同的参数。