Skip to content
Snippets Groups Projects
redis.helpers.js 1.62 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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;
    };