function getMoviesFromJwt(cb) { Setting.find() .exec(function(err, setting) { if(err) { cb(err, null); } var token = jwt.sign({access: "view"},setting[0].antikey,{expiresIn: '100s'}); client.setex('token',99,token); cb(null, token); }) }
async function upsert(table, data) { let key = table; if (data && data.id) { key = key + '_' + data.id; } client.setex(key, 10, JSON.stringify(data)); return true; }
async function getRepos(req, res, next) { try { console.log('Fetch data') const { username } = req.params const response = await fetch(`https://api.github.com/users/${username}`) const data = await response.json() const repos = data.public_repos client.setex(username, 3600, repos) res.send(setResponse(username, repos)) } catch (error) { console.error(error) res.status(500) } }
//to get data from nasa api async function getMarsWeather(req, res, next) { try { console.log("Fetching data now...."); const response = await nodefetch( "https://api.nasa.gov/insight_weather/?api_key=drRkUQz546fM0NVWAf8rkUx9duCRcCydpMBDbdNc&feedtype=json&ver=1.0" ); const data = await response.json(); //console.log(data); const sols = data.sol_keys; client.setex("key_sols", 3600, sols); res.send(setResponse("key_sols", sols)); } catch (err) { console.error(err); res.status(500); } }
Quote.find({ quoteGenre: new RegExp(genreName, "ig") }) .skip(pageLimit * currentPage - pageLimit) .limit(pageLimit) .then((quotes) => { const redisStoreId = genreName + "-" + page + "-" + limit; const total = Math.ceil(totalDocCount / pageLimit); const sendResponse = response({ statusCode: 200, message: `Quotes in ${genreName} genre`, totalPages: total, currentPage: page, quotes: quotes, }); redisClient.setex( redisStoreId, 120, JSON.stringify(sendResponse), (err, reply) => { if (err) { console.log(err); } console.log(reply); } ); return res.status(200).json(sendResponse); });
redisClient.get(key, function (err, data) { //if (err) { // return callback(err); //} if (data) { DEBUG && debug('***cache hit:', key); return callback(null, JSON.parse(data)); } DEBUG && debug('***cache miss:', key); supplier(function (err, supplied) { if (err) { return callback(err); } if (supplied) { DEBUG && debug('***cache supplied:', supplied); redisClient.setex(key, cacheTTL, JSON.stringify(supplied)); } else { redisClient.del(key); } return callback(null, supplied); }); });
app.post('/upload', multer({storage: multer.memoryStorage()}).single("file"), async (req, res, next) => { if (req.file) { var originalname = req.file.originalname.split(' '); const fileName = originalname.join('_'); try { await minioClient.putObject('test-bucket', fileName, req.file.buffer); // get url const url = await minioClient.presignedGetObject('test-bucket', fileName); var id = uuid(); // link valid for 3 minutes (180 seconds) // save link to redis redisClient.setex(id, 180, url, (err, reply) => { if (err) { return res.json({'success': false, 'message': err}); } return res.json({'success': true, 'message': id}); }); } catch(err) { return res.json({'success': false, 'message': err}); } } });
app.get('/api/:username', function (req, res) { var userName = req.params.username; redisClient.get(userName, function (error, result) { if (result) { res.send({ totalStars: result, source: 'redis cache' }); } else { getUserRepositories(userName).then(computeTotalStars).then(function (totalStars) { redisClient.setex(userName, 60, totalStars); res.send({ totalStars: totalStars, source: 'Github API' }); }).catch(function (response) { if (response.status === 404) { res.send('The GitHub username could not be found. Try "coligo-io" as an example!'); } else { res.send(response); } }); } }); });
redisClient.setex(phone,2*60,verifycode,function(err,res){ if(err) callback(err)
let isvalid = getRandomInt(6); redisClient.setex(stuNum,24*60*60,isvalid,function(err,response){ if(err) onReject(message.REDIS_ERROR);
redisClient.setex(socketId, config.expire, user, promiser(resolve, reject)); });
Quote.find() .limit(limit * 1) .skip(page - 1) .then((quotes) => { const total = Math.ceil(totalDocCount / limit); const redisStoreId = "quote" + "-" + page + "-" + limit; const sendResponse = response({ statusCode: 200, message: "All quotes", totalPages: total, currentPage: page, quotes: quotes, }); redisClient.setex( redisStoreId, 120, JSON.stringify(sendResponse), (err, reply) => { if (err) { console.log(err); } console.log(reply); } ); return res.status(200).json(sendResponse); }) .catch((error) => { console.log(error); });
// make request to github for data async function getTotalRepos(req, res, next) { try { console.log("Fetching data...") const { username } = req.params const response = await fetch(`https://api.github.com/users/${username}`) const data = await response.json() const repos = data.public_repos // Set data to redis client.setex(username, 3600, repos) res.send(setResponse(username, repos)) } catch (error){ console.error(error) res.status(500) } }
Quote.find({ quoteText: new RegExp(searchQuery, "ig") }) .skip(pageLimit * currentPage - pageLimit) .limit(pageLimit) .then((quotes) => { const redisStoreId = searchQuery + "-" + page + "-" + limit; const total = Math.ceil(totalDocCount / pageLimit); const sendResponse = response({ statusCode: 200, message: `Quotes which includes ${searchQuery} keywords `, totalPages: total, currentPage: page, quotes: quotes, }); redisClient.setex( redisStoreId, 120, JSON.stringify(sendResponse), (err, reply) => { if (err) { console.log(err); } console.log(reply); } ); return res.status(200).json(sendResponse); });
Quote.find({ quoteAuthor: new RegExp(authorName, "ig") }) .skip(pageLimit * currentPage - pageLimit) .limit(pageLimit) .then((quotes) => { const total = Math.ceil(totalDocCount / pageLimit); const redisStoreId = authorName + "-" + page + "-" + limit; const sendResponse = response({ statusCode: 200, message: `Quotes by ${authorName}`, totalPages: total, currentPage: currentPage, quotes, }); //Store in cache redisClient.setex( redisStoreId, 120, JSON.stringify(sendResponse), (err, reply) => { if (err) { console.log(err); } console.log(reply); } ); return res.status(200).json(sendResponse); });