欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 结合Redis解决接口幂等性问题

结合Redis解决接口幂等性问题

2024/10/24 18:25:00 来源:https://blog.csdn.net/RX1125/article/details/140517926  浏览:    关键词:结合Redis解决接口幂等性问题

结合Redis解决接口幂等性问题

  • 引言
  • 正文
  • 收获

引言

该问题产生背景是根据需求描述,要求对已发布的课程能进行编辑修改,并且要求能进行回滚。

幂等性问题描述:对同一个接口并发请求产生的结果是不变的。
Get 请求以及 Delete 请求天然保证幂等性。在本例中主要解决 Post 请求更新产生的幂等性问题。

正文

点击页面编辑课程按钮会发送一个携带修改课程 id 的 Post 请求。请求到达后端,首先进行非空校验,然后拼接前缀形成 Redis 的 Key,如果查询不为空则表明其他请求正在修改该课程,直接返回错误。如果为空,则可以进行修改,将该课程 id 存入 Redis,然后判断是否有正在编辑的课程副本,如果存在已经生成的副本,则直接返回该副本 id ,在这个基础上继续修改。如果不存在,则生成一份原课程的副本,将副本id返回给前端。

收获

实践检验了使用 Redis 解决幂等性问题是可行的。并且对比之前更新学习时开发项目,在企业中开发要考虑的更全面。之前未考虑到首先在副本上修改,没有提供回滚功能。而在企业中,没有直接修改原数据,而是修改复制一份的副本上,在最后确认修改完毕后再将原数据标记为删除状态,修改后数据标记为发布状态。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com