qq_朩耦繎_0
2019-11-29 10:13
老师,想学习一下,如何限制刷票的行为呢??
代码层面做限流的话,可以用redis来配合做,假设你的一个接口的请求限制的一个IP1s内只能有一个请求,则可以将接口名+IP作为键存一个bool值true,并且设置生命周期为1s,每次处理请求时先从redis里根据“接口名+IP”拿值,如果该值为true,说明一秒内已经有过一次请求,这种就可以直接拒绝不继续往下处理,相反如果拿不到值了,说明之前没有请求过或者请求的时间已经是1s之前了,这种就允许通过,继续处理下面的业务。
一个是对请求进行限流,然后就是封IP,对频繁请求的(指定时间同一IP请求超过多次)IP进行封堵。
PHP秒杀设计
11612 学习 · 61 问题
相似问题