limit.lua 347 B

12345678910111213
  1. local c
  2. c = redis.call('get',KEYS[1])
  3. -- 调用不超过最大值,则直接返回
  4. if c and tonumber(c) > tonumber(ARGV[1]) then
  5. return c;
  6. end
  7. -- 执行计算器自加
  8. c = redis.call('incr',KEYS[1])
  9. if tonumber(c) == 1 then
  10. -- 从第一次调用开始限流,设置对应键值的过期
  11. redis.call('expire',KEYS[1],ARGV[2])
  12. end
  13. return c;