MovixOpenSource/API/Mainapi/config/redis.js
Movix 1401dc20f3 tird release
mon compte github a été détecté comme du spam je crois
2026-04-28 17:55:00 +02:00

36 lines
1 KiB
JavaScript

/**
* Redis connection and memory cache wrapper.
* Extracted from server.js — centralizes Redis configuration.
*/
const Redis = require('ioredis');
// === REDIS CACHE POUR OPTIMISER LES PERFORMANCES ===
const redis = new Redis({
host: process.env.REDIS_HOST,
port: parseInt(process.env.REDIS_PORT),
password: process.env.REDIS_PASSWORD,
retryDelayOnFailover: 100,
maxRetriesPerRequest: 3,
lazyConnect: true
});
redis.on('connect', () => console.log('[Redis] Connecté'));
redis.on('error', (err) => console.error('[Redis] Erreur:', err.message));
// Wrapper autour de Redis pour garder l'interface memoryCache (get/set avec JSON auto)
const memoryCache = {
async get(key) {
try {
const data = await redis.get(key);
return data ? JSON.parse(data) : undefined;
} catch { return undefined; }
},
async set(key, value, ttl = 300) {
try {
await redis.set(key, JSON.stringify(value), 'EX', ttl);
} catch { /* ignore */ }
}
};
module.exports = { redis, memoryCache };