添加caching到node.js MongoDB API?

我的node.js API对MongoDB运行一些昂贵的“组”查询,例如:

app.get('/group/:collection', function(req, res) { [...] db.collection("indicators").group(keys, conds, { value : 0 } [...] 

什么是一些相当容易实现的caching解决scheme在这里?

redis很容易实现

  1. 安装redis

  2. 安装redis节点模块

     npm install redis --save 
  3. 创build一个caching服务。 这真的是最难的部分,但总体stream程看起来像这样:

    1. 请求caching服务。
    2. caching服务根据查询检查caching对象的redis。
    3. 如果存在,则caching从redis返回数据;如果不存在,则从mongo返回数据。
    4. 如果数据在redis中不存在或已经过期,则caching服务将数据写入redis。

在caching方面做得非常好,redis提供了一些function强大的处理队列,发布/订阅消息,列表pipe理…