getTDK.js
807 Bytes
const md5 = require('md5');
const redis = global.yoho.redis;
const _ = require('lodash');
module.exports = (type, query, req) => {
query = type === 'url' ? md5(query) : query;
if (redis && _.get(req.app.locals.pc, 'ci.tdk', false)) {
let arr = [];
arr.push(redis.multi([
['exists', `tdk:${type}:${query}`],
['hmget', `tdk:${type}:${query}`, 'key', 'title', 'keywords', 'description']
]).execAsync());
arr.push(new Promise((resolve)=>{
setTimeout(resolve, 500, []);
}));
return Promise.race(arr).then(function(res) {
if (res.length) {
return res[1];
} else {
return [];
}
});
} else {
return Promise.resolve([]);
}
};