MongoDB和Redis有啥区别? [关闭]

Posted

技术标签:

【中文标题】MongoDB和Redis有啥区别? [关闭]【英文标题】:What are the differences between MongoDB and Redis? [closed]MongoDB和Redis有什么区别? [关闭] 【发布时间】:2011-09-20 17:08:13 【问题描述】:

只是寻找人们在两者之间进行选择时认为的主要区别。

【问题讨论】:

【参考方案1】:

数据模型

MongoDB

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

Redis

键值对,值为:

字符串列表 字符串集(非重复未排序元素的集合) 已排序的字符串集(按称为分数的浮点数排序的非重复元素的集合) 键是字符串,值是字符串或整数的哈希

在Wikipedia之后。

存储

MongoDB

磁盘、内存映射文件、索引应该适合 RAM。

Redis

通常在内存中。

查询

MongoDB

按键,文档中的任何值(可能的索引),Map/Reduce。

Redis

按键。

【讨论】:

查看此链接 - db-tools.com/en/compare/…【参考方案2】:

我刚刚阅读了comparison between different NOSQL databases,我认为它总结得很好:

MongoDB:

最佳使用:如果您需要动态 查询。如果您更喜欢定义 索引,而不是 map/reduce 函数。如果 您需要在大型数据库上具有良好的性能。 如果你想要 CouchDB,但你的数据 变化太大,占满磁盘。

Redis:

最佳使用:用于快速变化的数据 具有可预见的数据库大小 (应该主要适合记忆)。

【讨论】:

这是一个完美的总结,非常感谢。【参考方案3】:

Redis 是键值存储,而 mongob 是文档存储。

Redis 擅长存储不相关的信息,而 mongodb 擅长利用它们之间的关系构建或建模信息。

我说的不是绝对的方式。它们都是 nosql 数据库,因此您几乎可以定义存储内容的形状和颜色,但实际上,这就是它们通常的使用方式。

【讨论】:

以上是关于MongoDB和Redis有啥区别? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

redis和mysql有啥区别呢

scrapy-redis 和 scrapy 有啥区别

scrapy-redis 和 scrapy 有啥区别

MongoDB 是 Memcached 更好的替代品? [关闭]

mongodb bsondump 有啥作用

与 MongoDB 而不是 Redis 一起使用的 Kue 有啥好的替代品?