Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 

19 строки
445 B

  1. -- 令牌桶退款脚本
  2. -- KEYS[1]: 限流器唯一标识
  3. -- ARGV[1]: 退还的令牌数
  4. -- ARGV[2]: 桶容量(上限)
  5. local key = KEYS[1]
  6. local refund = tonumber(ARGV[1])
  7. local capacity = tonumber(ARGV[2])
  8. local bucket = redis.call('HMGET', key, 'tokens', 'last_time')
  9. local tokens = tonumber(bucket[1])
  10. if not tokens then
  11. return 0
  12. end
  13. tokens = math.min(capacity, tokens + refund)
  14. redis.call('HSET', key, 'tokens', tokens)
  15. return 1