Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
pipe.incr(key)
pipe.expire(key, duration)
if pipe.execute()[0] > limit:
$redis->expire($key, 20);
sleep(4);
print_r($redis->ttl($key)); // 16
sleep(2);
$redis->incr($key);
print_r($redis->ttl($key)); // 14
from datetime import datetime
def over_limit(value, duration=3600., limit=240.):
value.requests = max(0.0, value.requests - (datetime.now() - value.ts).total_seconds() * limit / duration) + 1.0
overlimit = (value.requests > limit)
return value, overlimit
Введение в ограничение числа запросов с Redis [часть 1]