const Redis = require("ioredis"); const printError = require('./logs.helpers.js').printError; const printLog = require('./logs.helpers.js').printLog; module.exports.setRedisValue = async (redisSentinelHost, redisSentinelPort, redisGroupName, key, value, ttl) => { const redisClient = new Redis({ sentinels: [{ host: redisSentinelHost, port: redisSentinelPort },], name: redisGroupName, }); redisClient.on('error', (error) => { printError('Redis client', error); redisClient.disconnect(); }); // Set key value with expiration time in seconds const res = await redisClient.set(key, value, 'EX', ttl).catch((error) => { redisClient.disconnect(); printError('Redis client', 'Couldn\'t set redis key/value (with ttl).'); printError('Redis client', error); return false; }); printLog('Redis client', 'Done setting key/value pair'); redisClient.disconnect(); return res ? true : false; }; module.exports.getRedisValue = async (redisSentinelHost, redisSentinelPort, redisGroupName, key) => { const redisClient = new Redis({ sentinels: [{ host: redisSentinelHost, port: redisSentinelPort },], name: redisGroupName, }); redisClient.on('error', (error) => { printError('Redis client', error); redisClient.disconnect(); }); const res = await redisClient.get(key).catch((error) => { redisClient.disconnect(); printError('Redis client', 'Couldn\'t get redis value.'); printError('Redis client', error); return false; }); printLog(`Redis client`, `Value found ${res}`); redisClient.disconnect(); return res ? res : null; };