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有啥区别? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章