Commit 515409d4 authored by 刘文胜's avatar 刘文胜

缓存cacheable

parent 721ae3d6
var cache = require('./cacheable');
var forumAboutMEService = require('../service/forumAboutMEService');
cache.cacheable(forumAboutMEService, 'me2other', { ns: 'forum.service.forumAboutMEService222', dur: 10000 });
cache.cacheable(forumAboutMEService, 'me2other', { ns: 'forum.service.forumAboutMEService.me2other5', dur: 10 });
//cache.clear(forumAboutMEService,'me2other','forum.service.forumAboutMEService222')
\ No newline at end of file
......@@ -5,36 +5,53 @@ var async=require('async');
/**=====<1.缓存实现开始==========**/
function toCache(dur, k, v) {
if(v){
var str = '';
try{
str = JSON.stringify(v);
if(str){
redis.hset(dur.ns,k,str , function(err) {
redis.expire(k, dur.dur);
});
redis.hset(dur.ns,k,1, function(err) {
if(!err){
redis.expire(dur.ns, dur.dur);
var str = '';
try{
str = JSON.stringify(v);
}catch(e){
console.log(e);
}
if(str){
redis.set(k,str,function(err){
if(!err){
console.log('缓存过期时间:',dur.dur);
redis.expire(k, dur.dur);
}
});
}
}
}catch(e){
console.log(e);
}
});
}
}
function fromCache(dur,k,cb){
redis.hget(dur.ns,k, function(err,v){
redis.hget(dur.ns,k, function(err,hit){
if(err){
return cb(err);
console.log(err);
return cb();
}
if(!hit){
return cb();
}
if(v){
redis.get(k, function(err,data){
if(err){
console.log(err);
return cb();
}
if(!data){
return cb();
}
var obj = null;
try{
obj = JSON.parse(v);
cb(null,obj);
obj = JSON.parse(data);
}catch(e){
cb(e);
console.log(err);
}
}else{
cb(null,null);
}
cb(null,obj);
});
});
}
......@@ -130,7 +147,7 @@ module.exports = {
throw 'opts.ns 不能为空';
}
if(!opts.dur || isNaN(opts.dur)){//默认缓存一小时
opts.dur = 1000 * 60 * 60;
opts.dur = 60 * 60;
}
m[fn] = cacheable(m[fn], opts);
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment