Redis天生就是限流的好帮手!因为它有key,有value,有expire过期时间。我们把ip和url作为表示某个接口的key,而value就是这个ip下访问该url接口的次数,过期时间就是设定的限时时间。
我们把限时时间设定为3s,次数设置为9次,意思就是:某一ip在3s内最多只能对该url接口访问9次。每访问一次,value就加1:
如果3s内次数都不超过9,那么该键值对会在3s后过期。
如果次数(redis存储的value)在3s内超过9,就停止该url的正常服务,直到过期时间一到,就全部清零,该url就正常服务了。