import { Logger, Provider } from '@nestjs/common'; import Redis from 'ioredis'; export const VALKEY = Symbol('VALKEY'); export const ValkeyProvider: Provider = { provide: VALKEY, useFactory: (): Redis => { const url = process.env.VALKEY_URL || 'redis://valkey:6379'; const logger = new Logger('Valkey'); const client = new Redis(url, { lazyConnect: false, maxRetriesPerRequest: 3, }); client.on('connect', () => logger.log(`connected ${url}`)); client.on('error', (err) => logger.warn(`error: ${err.message}`)); return client; }, };