@nest-lab/throttler-storage-redis
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

NestJS Throttler Redis Storage

Redis storage provider for the @nestjs/throttler package.

Installation

Yarn

  • yarn add @nest-lab/throttler-storage-redis ioredis

NPM

  • npm install --save @nest-lab/throttler-storage-redis ioredis

Usage

Basic usage:

import { ThrottlerModule, seconds } from '@nestjs/throttler';
import { ThrottlerStorageRedisService } from '@nest-lab/throttler-storage-redis';
import Redis from 'ioredis';

@Module({
  imports: [
    ThrottlerModule.forRoot({
      throttlers: [{ limit: 5, ttl: seconds(60) }],

      // Below are possible options on how to configure the storage service.

      // default config (host = localhost, port = 6379)
      storage: new ThrottlerStorageRedisService(),

      // connection url
      storage: new ThrottlerStorageRedisService('redis://'),

      // redis object
      storage: new ThrottlerStorageRedisService(new Redis()),

      // redis clusters
      storage: new ThrottlerStorageRedisService(
        new Redis.Cluster(nodes, options)
      ),
    }),
  ],
})
export class AppModule {}

Inject another config module and service:

import { ThrottlerModule } from '@nestjs/throttler';
import { ThrottlerStorageRedisService } from '@nest-lab/throttler-storage-redis';

@Module({
  imports: [
    ThrottlerModule.forRootAsync({
      imports: [ConfigModule],
      inject: [ConfigService],
      useFactory: (config: ConfigService) => ({
        throttlers: [
          {
            ttl: config.get('THROTTLE_TTL'),
            limit: config.get('THROTTLE_LIMIT'),
          },
        ],
        storage: new ThrottlerStorageRedisService(),
      }),
    }),
  ],
})
export class AppModule {}

Issues

Bugs and features related to the redis implementation are welcome in this repository.

License

NestJS Throttler Redis Storage is licensed under the MIT license.

Dependencies (1)

Dev Dependencies (1)

Package Sidebar

Install

npm i @nest-lab/throttler-storage-redis

Weekly Downloads

76,357

Version

1.1.0

License

MIT

Unpacked Size

12.7 kB

Total Files

15

Last publish

Collaborators

  • jmcdo29