import { CacheModule, Module } from '@nestjs/common'; import { CacheService } from './cache.service'; import { redisStore } from 'cache-manager-ioredis-yet'; @Module({ imports: [ CacheModule.registerAsync({ useFactory: async () => { const baseRedisConfig = { ttl: 5 * 1000 * 60, // 5 minute host: process.env.REDIS_HOST, port: process.env.REDIS_PORT && Number(process.env.REDIS_PORT), db: process.env.REDIS_DATABASE && Number(process.env.REDIS_DATABASE), keyPrefix: 'maestro:sso', } if (process.env.REDIS_TLS === 'true') { baseRedisConfig['tls'] = { servername: process.env.REDIS_HOST, } } return { store: await redisStore(baseRedisConfig), } }, }), ], providers: [CacheService], exports: [CacheService], }) export class ServicesModule {}