首先区分数据库中的ACID原则,不是一个东西—
结合性 Associative
具体情况具体分析,结合性的可解释情况比较多,主要思想是进行合并操作,结果不变。
交换性 Commutative
指的是两个及以上操作的执行顺序并不会影响最后的结果,比如查询不同值,最终查询到的集合在中途没有修改的前提下是一样的,这种情况下我们的每一个查询操作具有交换性。
幂等性 Idempotent
一. 幂等性我们在分布式环境中的一个常见问题
指在进行多次操作时,得到的结果一样,即多次操作结果是一致的。也就是说,用户对于同一操作,无论是发起一次请求还是多次请求,最终的执行结果是一致的,不会因为多次点击而产生不同结果。
二. 常见幂等性操作在我们进行代码实现时,常见的请求有如下几种,他们的幂等性如下:
select 查询 天然幂等;
delete 删除 幂等(删除同一个数据多次);
update 直接更新某个值时,幂等;
update 更新累加操作的结果,非幂等;
insert 插入,非幂等;
我们在某些操作当中,会对一些数据进行重传操作,那么,这里的重传(每次数据一样),对于整个结果来说也是幂等的。