程序开发中的幂等性

幂等性是什么

幂等其实是我们数学与计算机学中的一个概念。

数学中,作用在任意一个元素中一次和多次的计算结果相同就是幂等性

计算机中,指任意N次执行所产生的的结果和一次执行产生的结果是相同的

在程序开发中我们的幂等性,指的是相同的参数重复N次执行,最终的结果都是一样的,这些函数无论执行多少次都不会对系统产生任何不同影响,也不用单行重复执行会对系统结果造成任何改变影响。

接口幂等性是什么?

在HTTP/1.1中,对幂等性的定义为——他描述了一次和多次请求某一资源,对于资源本身应该有相同的结果(网络超市等异常问题除外),即第一次请求的时候对资源产生了副作用,但是以后N次请求都不会字啊对资源产生任何副作用。

上面的副作用是不会对结果产生不可预料的结果。即任意N次执行对资源本身所产生的的影响都是与第一次执行的结果影响相同。

实现幂等性的原因

如果不实现幂等会造成以下问题:

  1. 用户恶意刷单

比如在发起优秀班干部投票的时候,如果不限制幂等性,一个人N次投票,是记作N张呢?还是一张?我们想要的答案肯定是一张。这就是我们要实现幂等的原因。即使他投一万次,最终还是一次有效。

  1. 重复提交一个数据

比如我们在网站上住的时候,不小心连续点击了两次,网站是识别注册两次呢?还是一次呢?答案肯定是一次,因为你是一个用户注册,而不是两个用户注册的。所以无论你点几次最终都是你一个用户注册成功。

  1. 重复消费问题

以上只是列出了三个最常见的,我们幂等的问题,足以说明我们对于某些接口要实现幂等的重要性。

好了,今天关于幂等的介绍就到这里,欢迎大家留言交流。

也欢迎大家关注我的公众号《coder练习生》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ybb_ymm

你的鼓励会是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值