在MongoDB中仅缓存高可用性密钥

时间:2020-06-27 09:55:45

标签: mongodb wiredtiger

假设我们有一个包含许多帖子的简单博客。 并且我们定期执行查询,以从title集合中获取帖子的dateposts的列表。

因此,在这种情况下(索引除外),Ram内部将缓存什么?整个文档还是仅_id,标题和日期?

documentation不能清除此内容:

MongoDB将最近使用的数据保留在RAM中。如果您已经创建 查询索引和工作数据集都适合RAM, MongoDB从内存提供所有查询

数据库版本为4.2.8。

1 个答案:

答案 0 :(得分:3)

它的工作原理如下:

假设您有4个收藏集。每个都包含2Gig数据。每个集合在索引中包含500Mb的数据。

总共:8Gb数据,2Gb索引。您经常查询一个集合,而对那个集合查询一个特定的查询。您可以假定它会将与您经常执行的查询相关的数据保留在缓存中。它包括索引中的数据以及桌面上与之相关的实际数据。

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