@rtorcato/api-rate-limit-redis v0.2.0
Interfaces
RedisRateLimitClient
Defined in: index.ts:8
Minimal structural view of the Redis client methods this store calls.
Matches ioredis (positional eval/scan) — pass an ioredis instance
directly. Typed structurally so this package doesn't depend on ioredis types.
Methods
eval()
eval(
script,numkeys, ...args):Promise<unknown>
Defined in: index.ts:9
Parameters
script
string
numkeys
number
args
...(string | number)[]
Returns
Promise<unknown>
scan()
scan(
cursor, ...args):Promise<[string,string[]]>
Defined in: index.ts:10
Parameters
cursor
string | number
args
...(string | number)[]
Returns
Promise<[string, string[]]>
del()
del(...
keys):Promise<number>
Defined in: index.ts:11
Parameters
keys
...string[]
Returns
Promise<number>
RedisStoreOptions
Defined in: index.ts:14
Properties
prefix?
optionalprefix?:string
Defined in: index.ts:16
Key prefix so limiter keys don't collide with other Redis data.
Functions
redisStore()
redisStore(
client,__namedParameters?):RateLimitStore
Defined in: index.ts:48
Redis-backed sliding-window store — counts are shared across every instance pointing at the same Redis, so the configured limit holds no matter how many replicas run.
import Redis from 'ioredis'
const store = redisStore(new Redis(process.env.REDIS_URL))
const limiter = createRateLimiter({ requests: 100, windowMs: 60_000, store })
Parameters
client
__namedParameters?
RedisStoreOptions = {}
Returns
RateLimitStore