Skip to content

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 ​

RedisLike

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 ​

RateLimitStore.hit


reset() ​

> reset(key): Promise<void>

Defined in: http/src/drivers/redis-rate-limit.ts:78

Parameters ​

key ​

string

Returns ​

Promise<void>

Implementation of ​

RateLimitStore.reset

Released under the MIT License.