3.0.1 ā€¢ Published 3 years ago

@ythub/nestjs-redis v3.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

npm (tag) npm (scoped with tag) npm GitHub code style: prettier CodeFactor Conventional Commits Maintenance workflow workflow

Redis(ioredis) module for NestJS framework.

Features šŸš€

  • Support redis and cluster
  • Support health check
  • Specify single or multiple clients
  • Inject a redis/cluster client via @InjectRedis() and @InjectCluster() decorator
  • Get a redis/cluster client via RedisService and ClusterService
  • Easy to test via getRedisToken() and getClusterToken()

Documentation

For the legacy V2 or V3@next documentation, click here.

Test coverage

StatementsBranchesFunctionsLines
StatementsBranchesFunctionsLines

Install

NestJS 8:

$ npm install --save @liaoliaots/nestjs-redis ioredis
$ npm install --save-dev @types/ioredis
$ yarn add @liaoliaots/nestjs-redis ioredis
$ yarn add --dev @types/ioredis

NestJS 7:

$ npm install --save @liaoliaots/nestjs-redis@2 ioredis @nestjs/terminus@7
$ npm install --save-dev @types/ioredis
$ yarn add @liaoliaots/nestjs-redis@2 ioredis @nestjs/terminus@7
$ yarn add --dev @types/ioredis

Test a class

This package exports getRedisToken() and getClusterToken() functions that return an internal injection token based on the provided context. Using this token, you can provide a mock implementation of the redis/cluster client using any of the standard custom provider techniques, including useClass, useValue, and useFactory.

Redis

const module: TestingModule = await Test.createTestingModule({
    providers: [{ provide: getRedisToken('namespace'), useValue: mockClient }, YourService]
}).compile();

Cluster

const module: TestingModule = await Test.createTestingModule({
    providers: [{ provide: getClusterToken('namespace'), useValue: mockClient }, YourService]
}).compile();

TODO

  • select db

Package dependency overview

npm.io

Author

šŸ‘¤ LiaoLiao

šŸ¤ Contributing

Contributions, issues and feature requests are welcome!Feel free to check issues page.

Show your support

Give a ā­ļø if this project helped you!

šŸ“ License

Copyright Ā© 2021 LiaoLiao. This project is MIT licensed.