MongoDB 是否缓存查询?

MongoDB 是否缓存查询?

我使用 MongoDB 作为 NodeJS 系统的数据库,并且大量使用该数据库进行工作。

我正在使用 Mongoose 模块作为数据库控制器。

我的问题是:MongoDB 或 Mongoose 是否以某种方式缓存查询?我在从数据库提取数据时遇到了问题。

我这样说是什么意思?

例如,当我在同一秒使用聚合数据库查询并且期望得到不同的结果时,我得到了相同的结果。

这可能是由我的代码引起的,但在我开始深入研究之前,我需要确保它不是由某些隐藏的兑现功能引起的。

答案1

常见问题解答:MongoDB 基础知识 说:

MongoDB 是否处理缓存?

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

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

但是,这并不意味着根本不发生缓存:如果您通过 Web 访问 MongoDB 服务器,则浏览器和 Web 服务器都完全能够缓存 URL 及其答案。

在大多数情况下,好的网络服务器不会缓存看起来是动态的 URL,这意味着它?在其末尾包含一个带有参数的问号 ( )。您可以查看网络服务器的文档,或向其开发人员发送查询(如果可以访问),以了解此补救措施是否有效。

相关内容