2
我Node.js的API运行一些昂贵的“组”对MongoDB的使用,例如查询:添加缓存到node.js MongoDB API?
app.get('/group/:collection', function(req, res) {
[...]
db.collection("indicators").group(keys, conds, { value : 0 } [...]
什么是一些比较容易实现在此缓存解决方案?
你是什么意思的“解决方案”呢?你在找一些现成的图书馆吗?在这种情况下,这是**脱离主题**,因为你正在寻找图书馆的建议。如果你正在寻找*方法来实现缓存自己*,这是一个相当广泛的问题**,这个问题的答案很简单:“将结果存储在某种对象中,并解决通常在其他地方描述的缓存挑战互联网和太复杂,在这里详细讨论。“ – mnemosyn 2015-02-08 23:30:13
我建议你使用LRU缓存,已经有一个很好用的节点模块,你可能想看看这里: https://github.com/isaacs/node-lru-cache – 2015-02-10 10:08:10
您需要的解决方案取决于您的实施。如果您的应用程序目前正在运行,并且将在可预见的未来运行,那么在单台计算机(有时称为dyno)上运行,那么内存缓存对您来说可以。内存缓存很容易设置。您可以使用节点缓存,lru缓存或npmjs.com上可用的其他任何其他缓存。但是,如果您的应用程序从多个dynos运行,那么您需要分布式缓存,所有dynos都可以共享,例如redis。如果你想要两种缓存类型的组合,你可以看看npmjs.com上的分层解决方案,例如cache-service(免责声明:我写了cache-service)。 – jpodwys 2015-06-03 18:45:25