仅在 MongoDB 中缓存 high-usage 个键

Cache only high-usage keys in MongoDB

假设我们有一个包含许多 post 的简单博客。 我们定期执行查询以从 posts collection.

中获取 post 的 titledate 的列表

那么,在这种情况下,Ram 内部会缓存什么(索引除外)?整个文档还是只有 _id、标题和日期?

documentation 没有清除这个:

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

数据库版本为 4.2.8。

它的工作原理如下:

假设您有 4 个 collection。每个包含 2Gig 数据。每个 collection 在索引中包含 500Mb 的数据。

总共:8Gb 数据,2Gb 索引。您经常查询一个 collection 和一个特定查询 collection。您可以假设它在缓存中保留与您经常执行的查询相关的数据。它包括索引中的数据和桌面上与其相关的实际数据。

它不会将结果保留在索引中。所以它将整个文档和频繁查询的索引数据保存在缓存中。