import { createClient } from 'redis'; // Create Redis client const redisClient = createClient({ socket: { host: process.env.REDIS_HOST || 'localhost', port: process.env.REDIS_PORT || 6379, reconnectStrategy: (retries) => { if (retries > 10) return new Error('Redis max retries reached'); return Math.min(retries * 100, 3000); } }, password: process.env.REDIS_PASSWORD || undefined }); // Error handler redisClient.on('error', (err) => { console.error('Redis Client Error:', err); }); // Connection handler redisClient.on('connect', () => { console.log('✅ Connected to Redis'); }); // Connect to Redis — skip in test (services are mocked) or when REDIS_URL is unset if (process.env.NODE_ENV !== 'test') { await redisClient.connect(); } export default redisClient;