跳转至

异步支持

命名空间 limits.aio 镜像了 limits.storagelimits.strategies 的异步变体。

已实现以下异步存储后端:

  • 内存存储
  • Redis(通过 coredisredis-py。请参考 limits.aio.storage.RedisStorage.implementation 了解 选择依赖项的详细信息)
  • Memcached(通过 memcachio
  • MongoDB(通过 motor

快速开始

此示例演示了 limits.aio 命名空间中的细微差异:

from limits import parse
from limits.storage import storage_from_string
from limits.aio.strategies import MovingWindowRateLimiter

redis = storage_from_string("async+redis://localhost:6379")

moving_window = MovingWindowRateLimiter(redis)
one_per_minute = parse("1/minute")


async def hit():
    return await moving_window.hit(one_per_minute, "test_namespace", "foo")

有关异步存储后端的更多实现细节,请参考 Async Storage, 有关异步速率限制策略 API,请参考 Async Strategies