欢迎您来到“名字什么都是浮云”的博客空间!

并发 频繁操作 同时提交

并发,时间点一致,多个用户做同一个件事情。
频繁,时间点一致,一个用户连续做同一件事情。
 
频繁操作造成提交重复订单,怎么办?
优化方法一:使用时间戳验证。
在页面初始化时,初始化一个订单的更新时间到客户端(页面或app).
在用户进行操作时,验证更新时间与初始化的更新时间是否一致。如果不一致说明订单已被修改。
 
优化方法二:使用状态验证。
当用户进行操作时,在更新条件中加入原始状态判断,如果原始状态值发生变化,则不进行更新。
 
优化方法三:使用redis缓存验证
在用户操作时,将请求参数中的必要参数生成key,判断缓存中是否已存在该key,如果存在告知用户存在重复操作,如果不存在存入缓存中。如果用户操作完成(包含失败、成功、错误)及时清理key,这样用户仍然可以尝试操作。
posted @ 2017-06-09 16:43  名字什么都是浮云  阅读(4062)  评论(0编辑  收藏  举报