利用redis缓存解决高并发下后端重复请求措施

在高并发测试中发现,接口因重复请求导致数据库数据异常,例如用户可能一天签到多次。为解决此问题,文章探讨了如何利用Redis缓存来避免这种重复提交。通过在请求前检查Redis中是否已存在相关标志,可以有效防止在短时间内同一操作的多次执行,从而保护数据库免受不必要的操作。
摘要由CSDN通过智能技术生成

     最近在进行压力测试的时候发现在高并发下,有些接口很可能因为重复请求导致对数据库操作出来的数据不是你想要的那个样子。比如,用户签到,你只想让用户一天签到一次,为了防止签到多次,你对于每次强求,都去查询数据库今天是不是已经签到了,如果签了,就不让继续签到,如果没签到,插入签到数据,更新积分数据什么的。但是数据库操作是有时间的,在高并发下这种方式明显是不能限制重复请求提交的,有可能一个用户一天签到好几次,只要这个提交时间在很短的范围内就行(亲测确实是这样的)。

     于是就引出了今天要讨论的问题,如何处理重复提交的问题。
    首先看看准确的出现重复请求问题的原因(容老夫ctrl+v一段文字):

     
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值