node.js - 缓存来自 MongoDB 的数据

标签 node.js mongodb caching express mlab

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

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

最佳答案

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

MongoDB keeps most recently used data in RAM. If you have created indexes for your queries and your working data set fits in RAM, MongoDB serves all queries from memory.

MongoDB does not cache the query results in order to return the cached results for identical queries.

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

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

关于node.js - 缓存来自 MongoDB 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35610938/

相关文章:

caching - donut 缓存 ASP.NET MVC2

javascript - 如何防止在 node.js 中使用相同的 URL 进行两次调用

node.js - PhantomJS 默认存储任何持久文件吗?

javascript - visual studio code JavaScript 代码补全

javascript - 如何在 Cloudant 的 _user 数据库中分配角色

mongodb - MongoDb 中的文档大小

caching - 当先前死掉的redis-master再次在线时如何禁用sentinel auto-slaveof

node.js - 未找到命令 : nodemon --- need helping adding directory to PATH

mongodb - gte、lte 的索引并在不同字段中排序

php - PHP Mongo 问题列表 : What does _construct return when replicaSet is true?