【问题标题】:Cache data from MongoDB从 MongoDB 缓存数据
【发布时间】:2016-02-25 06:54:25
【问题描述】:

我正在尝试使用 node.js、express.js、jade 和 mongodb(托管在 mongolab.com)制作我自己的博客系统。我想在一页上列出存储在数据库中的所有帖子。添加更多帖子后,我担心页面加载速度,因为每次页面刷新时我都会联系 mongodb。

我的问题是:每次页面刷新时都可以从数据库中获取数据吗?或者我怎样才能将这些数据缓存在某处?或者是否有更快的方法,因为这些数据不经常更改?

【问题讨论】:

  • 这些答案,尤其是问题 1,很大程度上取决于您的网页/应用程序的要求。最重要的是,页面多久刷新一次?如果这是一个有 100 个并发用户的站点,缓存的重要性将不如有 10000 个并发用户。页面加载时间是否有速度要求?
  • MongoDB 自己对最近请求的文档进行内存缓存。但是当您对数据库有很高的延迟时,在 node.js 上进行缓存可能会为您节省几毫秒的页面加载延迟。

标签: node.js mongodb caching express mlab


【解决方案1】:

关于 MongoDB 上的查询缓存,官方文档说:

MongoDB 将最近使用的数据保存在 RAM 中。如果您为查询创建了索引并且您的工作数据集适合 RAM,则 MongoDB 从内存中提供所有查询。

MongoDB 不会缓存查询结果,以便返回相同查询的缓存结果。

因此,根据您的工作负载和硬件资源,由于上述第一句话,您可能对某些查询有较高的命中率。

但是,请考虑在您的网站前面设置一个缓存层,例如 CDN,甚至是一些使用 Nginx 或 Varnish 的基本缓存。在我看来,这将是适合您的解决方案,而不是仅仅依赖数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2014-08-07
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多