basalt / http/src / RedisRateLimitStore
Class: RedisRateLimitStore
Defined in: http/src/drivers/redis-rate-limit.ts:49
Redis-backed RateLimitStore — share one rate limit across every instance, surviving restarts. Inject an ioredis-compatible client:
ts
import Redis from 'ioredis'
securityPlugin({ rateLimit: { limit: 100, windowMs: 60_000, store: new RedisRateLimitStore(new Redis(url)) } })Implements
Constructors
Constructor
> new RedisRateLimitStore(redis, options?): RedisRateLimitStore
Defined in: http/src/drivers/redis-rate-limit.ts:53
Parameters
redis
options?
RedisRateLimitStoreOptions = {}
Returns
RedisRateLimitStore
Methods
hit()
> hit(key, limit, windowMs): Promise<RateLimitResult>
Defined in: http/src/drivers/redis-rate-limit.ts:65
Parameters
key
string
limit
number
windowMs
number
Returns
Promise<RateLimitResult>
Implementation of
reset()
> reset(key): Promise<void>
Defined in: http/src/drivers/redis-rate-limit.ts:78
Parameters
key
string
Returns
Promise<void>