0%

接口幂等

文章字数:595,阅读全文大约需要2分钟

幂等指的是任意次数的操作和一次操作的执行影响相同。

不同场景的幂等

  1. 查询:查询并不会对于数据造成影响,所以天然幂等
  2. 删除:指定删除数据行,此时指定的数据行只有一条,所以无论删除多少次影响都是一样的。也是天然幂等
  3. 唯一索引:使用唯一索引,使一个对象的新增操作只能执行一次,并发新增就会报错。(dao层接口幂等)
  4. token机制:用于防止页面重复提交。
    用户访问页面时后台随机生成Token并保存,用户表单提交时会带上Token,后台进行校验。每个Token只能使用一次,所以第二次提交就会失效。
    Token如果在Redis里,并且是
  5. 数据库锁
    操作的时候先加锁,防止其他请求并发操作。
  6. 查询状态
    将操作的唯一值存入数据库,请求到了之后查询一下是否是已经处理的请求。
  7. 业务代码实现
    操作之前先查询关键数据,查看操作是否已经完成。并发不高的可以这么用