describe('#__del', () => { it('should be the same as new NodeCache().del', () => { filesystem(); const cache = new Cache(); const nCache = new NodeCache(); cache.__set('yyz', 'amazing'); const returnone = cache.__del('yyz'); nCache.set('yyz', 'amazing'); const returntwo = nCache.del('yyz'); returnone.should.eql(returntwo); filesystem.restore(); }); });
imdb(url,function(err,things) { if (err) { var query = (context.req.query.q) ? context.req.query.q : ""; _logger.debug("Query : " + query); _logger.debug(context.req.query); research( baseUrl + "/torrents/search/"+query ,reponseSearch.bind( {context:context} ),context.req.query); } else { MovieCache.set(context.req.query.imdbid,things); researchMovie(things,context); } });
// render README.md file as html for home page app.get("/", (_req, res) => { let readme = cache.get("readme"); if (!readme) { readme = fs.readFileSync(path.join(__dirname, "../README.md")).toString(); } cache.set("readme", readme, 10000); res.set('Content-Type', 'text/html;charset=utf-8') res.send(`<div>${md.render(readme)}</div>`) })
requestHandler(err, response, body, cb) { let domains; const error = external.compileError('Error on CSDS request', err, response, body); if (error) { return cb(error); } if (body && body.baseURIs) { domains = CSDSClient.convert(body.baseURIs); } if (domains && Object.keys(domains).length !== 0) { this.cache.set(this.options.accountId, domains); } cb(null, domains); }
// below implementation taken from: https://zeit.co/blog/streaming-server-rendering-at-spectrum const createCachingStream = (cacheKey) => { const bufferedChunks = []; return new Stream.Transform({ // transform() is called with each chunk of data transform(data, enc, cb) { // We store the chunk of data (which is a Buffer) in memory bufferedChunks.push(data); // Then pass the data unchanged onwards to the next stream cb(null, data); }, // flush() is called when everything is done flush(cb) { // We concatenate all the buffered chunks of HTML to get the full HTML // then cache it at "cacheKey" cache.set(cacheKey, Buffer.concat(bufferedChunks)) cb(); } }); }
function getSecretByElem(secretElem) { let secret; if (secretElem) { if (secretElem.string) { secret = secretElem.string; } else if (secretElem.file) { secret = pemfileCache.get(secretElem.file); if (!secret) { secret = fs.readFileSync(secretElem.file); pemfileCache.set(secretElem.file, secret); } } } return secret; }
doSomethingNoLock(inputValue) { console.log(`Processing for ${inputValue}`); const cacheValue = myCache.get('blah'); if (cacheValue) { console.log(`I already have a cache value: ${cacheValue}`); } else { setTimeout(() => { myCache.set('blah', inputValue); console.log(`Set cache to ${inputValue}`); }, 1000); } }
toPromise() { try { const cachedHtml = cache.get(cacheKey); console.log('<cache hit in renderer.toPromise>'); return Promise.resolve(cachedHtml); } catch (err) { console.log('<cache miss in renderer.toPromise>'); return new Promise((resolve) => { const renderedReact = ReactDOMServer.renderToString(helloElement); const html = preReact + renderedReact + postReact; cache.set(cacheKey, html); resolve(html); }); } }
/** * It creates a (or returns a cached) keycloak object for the given realm. * * @param {string} realm The realm name * @returns {Object} The keycloak object */ getKeycloakObjectForRealm(realm) { let keycloakObject = cache.get(realm); if (keycloakObject) { return keycloakObject; } const keycloakConfig = Object.assign({}, this.keycloakConfig, {realm}); keycloakObject = new Keycloak(this.config, keycloakConfig); keycloakObject.authenticated = this.authenticated; keycloakObject.deauthenticated = this.deauthenticated; cache.set(realm, keycloakObject); return keycloakObject; }
function getSecretByElem(secretElem) { let secret; if (secretElem) { if (secretElem.string) { secret = secretElem.string; } else if (secretElem.file) { secret = pemfileCache.get(secretElem.file); if (!secret) { secret = fs.readFileSync(secretElem.file); pemfileCache.set(secretElem.file, secret); } } } return secret; }