#速率限制 #限制器 # #存储 # #redis-cell

rate_limiter

来自 redis-cell 的速率限制库

1 个不稳定版本

0.1.0 2021年7月7日

#11 in #来

Apache-2.0

9KB
166

rate_limiter

来自 redis-cell 的速率限制库 CI

需求

  • rust

工作原理

    use rate_limiter::rate_limiter::Store;
    use rate_limiter::RateLimiter;
    use rate_limiter::rate_limiter::to_second;
    let mut store = Store::new();
    let mut rate_limiter = RateLimiter::new(&mut store);
    let rs = rate_limiter.rate_limit("foo".to_string(),10,1,1,1).unwrap();
    assert_eq!(rs.allowed, true);
    assert_eq!(rs.remaining, 10);
    assert_eq!(rs.limit, 11);
    assert_eq!(to_second(rs.retry_after), -1);
    assert_eq!(to_second(rs.reset_after), 1);

参考

redis-cell 速率限制

依赖

~0.6–1MB
~15K SLoC