1.3.0 • Published 2 years ago
@voiceflow/nestjs-redis v1.3.0
NestJS Redis
Redis, but for NestJS
Installation
yarn add @voiceflow/nestjs-redis ioredis
yarn add -D @types/ioredisUsage
The redis module can be setup in a couple different ways using forRootAsync:
- A
RedisOptionsobject can be provided viauseValue. - A
useFactoryfunction can be provided to return aRedisOptionsobject (or a promise for one!). - A class implementing
RedisOptionscan be provided usinguseClass.
import { RedisModule, RedisService, RedisOptions } from '@voiceflow/nestjs-redis';
@Module({
imports: [
RedisModule.forRootAsync({
imports: [],
// Union field, one of `useValue`, `useFactory`, or `useClass`:
useValue: {
host: '0.0.0.0',
port: 6379,
},
useFactory: () => getRedisConfig(),
useClass: RedisConfigService,
}),
],
})
export class AppModule {}If you have an existing redis connection that you'd like to reuse, you can provide that in forRoot.
import IORedis from 'ioredis';
const redisConnection = new IORedis(...);
@Module({
imports: [
RedisModule.forRoot(redisConnection),
],
})
export class AppModule {}Once the RedisModule is globally registered, RedisService can be injected in other providers without having to import RedisModule again.