【问题标题】:(Node.js+express+MongoDB), how to OPTIMIZE an frequently-used variable?(Node.js+express+MongoDB),如何优化一个常用的变量?
【发布时间】:2012-03-15 17:54:30
【问题描述】:

我正在使用 Node.js+express+MongoDB 构建一个动态网站

并且几乎每个页面中都存在一些数字,(例如网站的用户/页面/文章的数量,显示在页脚中)

因为它们存在于每个页面中,我认为它们会降低我的网站速度,如果我每次都像在渲染之前那样调用它,就像一个不那么有用的变量一样。

我说的对吗?

1.如果是这样,如何优化这个概率?使用动态助手?怎么做?有例子吗?

2.哪个更好?把它们放在 DB 或 CONFIG 文件中?

【问题讨论】:

    标签: javascript optimization node.js mongodb express


    【解决方案1】:

    由于您使用的是 mongo,因此您可以将所有这些键放在索引中。

    如果您的文档如下所示:

    doc = {
        'users': 50,
        'page': 10,
        'articles': 20
    }
    

    简单地做:

    db.foo.ensureIndex( {
        'users': 1,
        'page': 1,
        'articles': 1
    })
    

    然后确保您只返回这些密钥。

    如果这些在索引中,Mongo 将直接从内存中读取这些值,而不是从磁盘中。

    如果您想通过 _id 之类的方式进行查询,只需将 _id 添加为索引的第一部分,然后将其余项目包含在索引中。

    http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields#RetrievingaSubsetofFields-CoveredIndexes

    【讨论】:

      【解决方案2】:

      您应该在内存中缓存这些值并设置一个短暂的超时时间;在每个请求上,检查您的应用程序缓存这些值多久之前,如果超时已过期,请重新查询。

      【讨论】:

        猜你喜欢
        • 2020-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-01
        • 2011-11-27
        • 1970-01-01
        • 2013-08-20
        相关资源
        最近更新 更多