#!/usr/bin/env node require('dotenv').config(); const Redis = require('ioredis'); console.log('Redis configuration from environment:'); console.log('- Host:', process.env.REDIS_HOST); console.log('- Port:', process.env.REDIS_PORT); console.log('- Password:', process.env.REDIS_PASSWORD ? '******** (set)' : '(not set)'); const redis = new Redis({ host: process.env.REDIS_HOST, port: process.env.REDIS_PORT ? parseInt(process.env.REDIS_PORT) : undefined, password: process.env.REDIS_PASSWORD, maxRetriesPerRequest: 3, retryStrategy: (times) => Math.min(times * 100, 3000) }); redis.on('connect', () => { console.log('✅ Connected to Redis successfully!'); // Test a simple operation redis.set('test-key', 'Test value from environment test') .then(() => redis.get('test-key')) .then((value) => { console.log('✅ Successfully set and retrieved a test key:', value); redis.quit(); }) .catch((err) => { console.error('❌ Error during Redis operations:', err); redis.quit(); process.exit(1); }); }); redis.on('error', (err) => { console.error('❌ Redis connection error:', err); process.exit(1); }); // Add a timeout to avoid hanging indefinitely setTimeout(() => { console.error('❌ Connection timeout'); process.exit(1); }, 5000);