@liaoliaots/nestjs-redis

Redis(ioredis) module for NestJS framework

Usage no npm install needed!

<script type="module">
  import liaoliaotsNestjsRedis from 'https://cdn.skypack.dev/@liaoliaots/nestjs-redis';
</script>

README

Nest Logo

Redis(ioredis) module for NestJS framework.

NPM Version Package License NPM Downloads Package Vulnerabilities

Features 🚀

  • Both redis & cluster are supported: You can also specify multiple clients.
  • Health: Checks health of redis & cluster server.
  • Rigorously tested: With 120+ tests and 100% code coverage.
  • Decorators: Injects redis/cluster client via @InjectRedis() and @InjectCluster().
  • Services: Gets redis/cluster client via RedisService and ClusterService.

Test coverage 🧐

Statements Branches Functions Lines
Statements Branches Functions Lines

Documentation

Deprecated

Install

This package supports both nestjs 7.x and 8.x.

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

Distributed locks

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.

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

A working example is available here.

TODO

    • COMMAND: SELECT

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

This project is MIT licensed.

Package dependency overview