在MongoDB(数据库)上使用Redis(缓存)以更快地访问静态数据?

时间:2019-09-06 13:12:05

标签: mongodb caching redis in-memory-database

我们有一些API提供的信息很少更改。该API由mongodb集合的主要数据源支持。由于数据是静态的,因此我们倾向于将Redis用作主数据库上的缓存,但目前的建议是使用redis缓存作为最终将保留所有mongo数据的非逐出缓存。

我对此计划有疑问:

  1. 与直接从MongoDB查询相比,将全部数据保留在Redis中是否对我有显着优势?另外,我们的数据量不是太大,如果要回答这个问题,可以考虑吗?还是可以有任何东西。可能/可能没有意义的特定场景。

  2. 将Redis用作具有驱逐或超时功能的固定大小的缓存是否只对一个有意义呢?

  3. 使用Mongo的In内存引擎是否等效于#1或#2或没有??

  4. 如果我们在内存引擎中使用Mongo的引擎,将其用作主要数据源是否会带来任何麻烦(例如写入延迟或同步)

我知道对这些问题的回答可能是主观的,并且可能取决于许多其他因素以及访问模式和负载,但是我正在寻求对最有可能得出最合适方法的高级理解。

如果某些因素在很大程度上影响选择,则可以突出显示答案中的因素,如果需要任何输入,请发表评论。

在这里我主要要了解的是,考虑到开销和成本,将所有数据保存在Redis和MongoDB中是否都能提供任何显着的优势。

0 个答案:

没有答案