45 lines
1.3 KiB
JavaScript
45 lines
1.3 KiB
JavaScript
#!/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);
|