决策形势:开云体育(中国)官方网站
针对客户端鸠合点击大致调用方的超时重试等情况,举例提交订单,此种操作就不错用 Token 的机制兑现防患重迭提交。节略的说即是调用方在调用接口的本事先向后端恳求一个全局 ID(Token),恳求的本事佩戴这个全局 ID 一皆恳求(Token 最佳将其放到 Headers 中),后端需要对这个 Token 当作 Key,用户信息当作 Value 到 Redis 中进行键值执行校验,要是 Key 存在且 Value 匹配就实行删除号召,然后当年实行后头的业务逻辑。要是不存在对应的 Key 或 Value 不匹配就复返重迭实行的造作信息,这么来保证幂等操作。
适用操作:
插入操作
更新操作
删除操作
使用拆伙:
需要生周全局唯独 Token 串;
需要使用第三方组件 Redis 进行数据效验;
伸开剩余60%主要经由:
① 工作端提供赢得 Token 的接口,该 Token 不错是一个序列号,也不错是一个划分式 ID 大致 UUID 串。
② 客户端调用接口赢得 Token,这本事工作端会生成一个 Token 串。
③ 然后将该串存入 Redis 数据库中,以该 Token 当作 Redis 的键(细巧建立落后时辰)。
④ 将 Token 复返到客户端,客户端拿到后应存到表单荫藏域中。
⑤ 客户端在实行提交表单时,把 Token 存入到 Headers 中,实行业务恳求带上该 Headers。
⑥ 工作端采选到恳求后从 Headers 中拿到 Token,然后字据 Token 到 Redis 中查找该 key 是否存在。
⑦ 工作端字据 Redis 中是否存该 key 进行判断,要是存在就将该 key 删除,然后当年实行业务逻辑。要是不存在就抛格外,复返重迭提交的造作信息。
细巧,在并发情况下开云体育(中国)官方网站,实行 Redis 查找数据与删除需要保证原子性,不然很可能在并发下无法保证幂等性。其兑现要津不错使用划分式锁大致使用 Lua 抒发式来刊出查询与删除操作。
发布于:湖南省