一个cache的设计
发布于 12 年前 作者 yakczh 5280 次预览 最后一次回复是 12 年前 来自
var cache = {};
function getCache(key, dep) {
if (cache[key] == undefined) {
dep.call(null,function(err, list) {
cache[key] = list;
});
return cache[key];
} else {
return cache[key];
}
}
var data = getCache("aa",
function(cb) {
BlogModel.find({}, cb);
});
console.log(data);
```
本来是根据key去cache中查找,如果找不到,就执行BlogModel查数据然后放在cache中,因为异步的原因返回是undefined,但如果在cb写在getCache调用的代码里,嵌套就太深了,而且代码都一样,看有没有更好的办法5 回复
学习了,改装一下 就可以弄成redis缓存的那种样子。
我的页面上有多块缓存的数据,依次读出来一起render一个模板,如果写成回调的话, 两部分数据没法写个一个回调里面render一个模板的
不行的,object 的key 一多,性能马上就下去了。玩玩还可以,实际千万别这么搞。
redis缓存版本