gosf-atk
Version:
shared atk api.
29 lines (27 loc) • 914 B
JavaScript
;
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 ) ;
}) ;
}) ;
}
}