从MongoDB缓存数据

时间:2016-02-24 19:10:08

标签: node.js mongodb caching express mlab

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

我的问题是:每次页面刷新时都可以从数据库中获取数据吗?或者我如何将这些数据存储在某处?或者是否有更快的方法,因为这些数据通常不会改变?

1 个答案:

答案 0 :(得分:0)

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

  

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

     

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

因此,根据您的工作量和硬件资源,由于上面的第一句话,某些查询的命中率可能会很高。

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