【发布时间】:2016-01-10 06:40:42
【问题描述】:
我有一个基于 MEAN 堆栈的应用程序,最近,我试图实现一些缓存机制来缓存查询结果。我实现了mongoose-cache。
猫鼬缓存配置
require('mongoose-cache').install(mongoose, {max: 150, maxAge:1000*60*10});
我在示例集合中有两个文档说
{name:'dale', dep:2},
{name:'john', dep:4}
我在启用 mongoose-cache 的情况下运行查询,maxAge 是 10 分钟。
sample.find().cache().exec(function (err, doc) {
// returns 2 document
});
接下来,我又插入了一个文档说
{name:'rasig', dep:4} 并执行相同的查询
sample.find().cache().exec(function (err, doc) {
// returns 2 document instead of 3
});
我在 10 分钟内执行了两次相同的查询,虽然集合发生了变化,但我得到了之前的结果。一旦集合发生变化,有什么方法可以删除缓存的结果。如果没有,您能否建议其他方法来实现相同的功能。
【问题讨论】:
标签: javascript node.js mongodb caching mongoose