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

我的问题是:每次页面刷新时可以从数据库获取数据吗?或者如何将这些缓存的数据存储在某个地方?还是因为这些数据不经常更改而有一种更快的方法?

最佳答案

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


  MongoDB将最近使用的数据保留在RAM中。如果您已经为查询创建了索引,并且您的工作数据集适合RAM,那么MongoDB将从内存中提供所有查询。
  
  MongoDB不缓存查询结果,以返回相同查询的缓存结果。


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

但是,请考虑在站点前面设置一个缓存层,例如CDN甚至是一些使用Nginx或Varnish进行的基本缓存。我认为,这将是您的正确解决方案,而不仅仅是依靠数据库。

10-06 11:58
查看更多