当前位置: 首页 > news >正文

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

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

  • 引言
  • 正文
  • 收获

引言

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

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

正文

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

收获

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

http://www.lryc.cn/news/402442.html

相关文章:

  • 2024算力基础设施安全架构设计与思考(免费下载)
  • ExoPlayer架构详解与源码分析(15)——Renderer
  • 网络安全-等级保护制度介绍
  • 【介绍下大数据组件之Storm】
  • React Hook 总结(React 萌新升级打怪中...)
  • Typora 1.5.8 版本安装下载教程 (轻量级 Markdown 编辑器),图文步骤详解,免费领取
  • mac docker no space left on device
  • 单片机主控的基本电路
  • 【19】读感 - 架构整洁之道(一)
  • 多层全连接神经网络(三)---分类问题
  • 签名优化:请求数据类型不是`application/json`,将只对随机数进行签名计算,例如文件上传接口。
  • PostgreSQL的Json数据类型如何使用
  • SpringData JPA Mongodb 查询部分字段
  • NC65 设置下拉列表框值
  • 小阿轩yx-高性能内存对象缓存
  • 华中师范大学学报人文社会科学版
  • CI/CD的node.js编译报错npm ERR! network request to https://registry.npmjs.org/
  • 用ssh tunnel的方式设置 AWS DocumentDB 公网访问
  • 基于电鸿(电力鸿蒙)的边缘计算网关,支持定制
  • WPF之URI的使用
  • Web开发:ASP.NET CORE前后端交互之AJAX(含基础Demo)
  • 经典神经网络(14)T5模型原理详解及其微调(文本摘要)
  • C语言结构体字节对齐技术详解
  • Linux编辑器——vim的使用
  • Java案例斗地主游戏
  • sqlite|轻量数据库|pgadmin4的sqlite数据库操作--重置密码和账号解锁
  • 【ARMv8/v9 异常模型入门及渐进 9.1 - FIQ 和 IRQ 打开和关闭】
  • 深入探索Flutter中的状态管理:使用Provider库
  • 算法工程师第十四天(找树左下角的值 路径总和 从中序与后序遍历序列构造二叉树 )
  • memcached 高性能内存对象缓存