UNPKG

gosf-atk

Version:

shared atk api.

29 lines (27 loc) 914 B
'use strict' ; require('dotenv').config() ; const Memcached = require('memcached-elasticache') , memcached = new Memcached( process.env.API_MEMCACHED , {retries:10,retry:10000,remove:true,timeout:5000}) ; module.exports = class MemcachedModule { constructor(){ this.memcachedKey = '' ; } async getDataMemcached( key = null ) { let cache = '' ; try{ if( key == null ) throw new Error( 'key is required' ) ; cache = await this.invokeMemcachedPromise( key ) ; return (cache) ? cache : null ; }catch(e){ throw e ; } } invokeMemcachedPromise( key = '' ){ return new Promise( (resolve , reject) => { memcached.get( key , ( err , data ) => { if( err ) reject(err); resolve( data ) ; }) ; }) ; } }