说到幂等性,应该很多人都知道这个词,顾名思义,就是无论操作多少次,产生的结果都是相等的。尤其是交易中,在开发过程中,时时刻刻要考虑交易的幂等性,例如,客户端因为网络原因,发起了多次相同的交易请求,这个时候,无论发起了多少次,对于后台来说,产生的结果肯定要保证是相同的。那么如何保证操作的幂等性呢?
查询的幂等性
查询操作天然是幂等的,同样的数据,无论你查询多少次,都不会对数据造成改变。
更新的幂等性
对于更新,可能存在重复更新的可能性,因此需要做其他的操作来保证幂等性,可以考虑使用数据version、行锁、分布式锁等来处理。
新增的幂等性
对于新增操作,存在重复新增的可能性,显然是非幂等性的,要保证幂等性,可以考虑在表中添加唯一索引或者联合唯一索引的方式来处理。
删除的幂等性
删除本身就是幂等性的,无论你删除多少次,参数相同的情况下,删除产生的结果都是相同的。