每次增加1的时候都要设置过期时间吗
来源:2-13 【Demo】限流组件封装(一)- Redis + Lua
花花花大少爷
2021-09-07 22:03:58
老师,为什么每次增加1的时候都要设置过期时间,不是只需要在第一次增加的时候设置吗,每次增加1都重新设置过期时间不是延长了key的过期时间吗
1回答
姚半仙
2021-09-10
是的,在限流阈值内刷新时间,但超过阈值的时候,就反回false了,直到过期之后再返回true继续放行。
但这个只是简化版的限流组,统计精度不足且有漏洞,比如每次0.999秒来个请求,如果不超过限流次数那么上一秒的计数会到下一秒,所以真正要做到复杂的精细力度控制的话,需要自己实现滑动窗口之类的算法
相似问题