UNPKG

dt-common-device

Version:

A secure and robust device management library for IoT applications

34 lines (33 loc) 1.22 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRedisClient = getRedisClient; //Singleton pattern to ensure only one Redis client instance is create only once and shared across the application const config_1 = require("../config/config"); const ioredis_1 = __importDefault(require("ioredis")); let redisClient = null; function getRedisClient() { if (!redisClient) { const { host, port } = (0, config_1.getRedisDbHostAndPort)(); redisClient = new ioredis_1.default({ host, port, lazyConnect: true, enableReadyCheck: false, connectTimeout: 10000, maxRetriesPerRequest: null, }); redisClient.on("error", (error) => { console.error("Redis error:", error); }); redisClient.on("connect", () => { console.log(" Redis connected successfully"); }); redisClient.on("ready", () => { console.log(" Redis ready for operations"); }); } return redisClient; }