MongoDB和Redis有什么区别?

20

当选择两者之间的差异时,人们看到的主要差异是什么。

3个回答

36

数据模型

MongoDB

面向文档的,类似于JSON。每个文档在集合中有唯一的键。文档是异构的。

Redis

键值对,值可以是:

  • 字符串列表
  • 字符串集合(不重复无序元素的集合)
  • 字符串排序集合(按浮点数分数排序的不重复元素的集合)
  • 哈希表,其中键是字符串,而值可以是字符串或整数

引自维基百科

存储

MongoDB

磁盘,内存映射文件,索引应适合于RAM。

Redis

通常在内存中。

查询

MongoDB

按键名查询,按文档中的任何值查询(可进行索引),Map/Reduce。

Redis

按键名查询。


请查看此链接 - https://db-tools.com/en/compare/Mongo-DB_vs_Redis-DB_vs_AWS-DynamoDB_vs_Neo4j/ - Srini Sydney

11
我刚刚读了一篇不同NOSQL数据库之间的比较,我认为这篇文章总结得非常好:
MongoDB:
最适合用于:需要动态查询。如果您更喜欢定义索引而不是映射/减少函数。如果您需要在大型数据库上获得良好的性能。如果您想要CouchDB,但是您的数据变化太大,填满了磁盘。
Redis:
最适合用于:快速更改的数据,具有可预见的数据库大小(应该大部分适合内存)。

这是一个完美的总结,非常感谢。 - Jake

5

Redis是一个键值存储,而MongoDB是一个文档存储。

Redis非常适合存储不相关的信息,而MongoDB非常适合通过它们之间的关系来构建或建模信息。

我并不是绝对地在说话。它们都是NoSQL数据库,因此您几乎可以定义存储内容的形状和颜色,但在实践中,它们通常是这样使用的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接