缓存来自 MongoDB 的数据
Cache data from MongoDB
我正在尝试使用 node.js、express.js with 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、express.js with 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 进行一些基本缓存。在我看来,这将是适合您的解决方案,而不是仅依赖于数据库。