redis限流
1.流程图
2.luna脚本
local key = "rate.limit:" .. KEYS[1] --限流KEY local limit = tonumber(ARGV[1]) --限流大小 local time = tonumber(ARGV[2]) --时间 local value = tonumber(redis.call('INCRBY', key,"1")) local expireTime = tonumber(redis.call('ttl', key)) if expireTime == -1 then --如果没有设置超时时间 redis.call("expire", key,time) return value elseif value > limit then --如果超出限流大小 return 0 else return value end