Redis 和 MongoDB 的区别
1. Redis
Redis 代表 Remote Dictionary Server,它是一个内存数据结构项目,实现了一个具有可选持久性的分布式内存键值数据库。Redis 由 Redis 实验室开发,最初于 2009 年 5 月 10 日发布。它是用 ANSI 和 C 语言编写的。Redis 提供内存效率、快速运行速度、高可用性,并提供一些特性,如可调性、复制、集群等。
2. MongoDB
MongoDB 是一个跨平台的面向文档和非关系(即 NoSQL)的数据库程序。它是一个开源文档数据库,以键值对的形式存储数据。MongoDB 由 MongoDB Inc. 开发,最初于 2009 年 2 月 11 日发布。它是用 C++、Go、JavaScript、Python 语言编写的。MongoDB 提供高速、高可用性和高可扩展性。
Redis 和 MongoDB 的区别:
编号 | Redis | MongoDB |
---|---|---|
1 | 由 Redis 实验室开发,2009 年 5 月 10 日发布。 | MongoDB Inc. 开发,2009 年 2 月 11 日发布。 |
2 | Redis 是用 ANSI 和 C 语言编写的。 | MongoDB 是用 C++、Go、JavaScript 和 Python 语言编写的。 |
3 | Redis的主要数据库模型是Key-Value Store。 | MongoDB 的主要数据库模型是 Document Store。 |
4 | Redis 支持的数据类型有字符串、哈希、列表、集合和排序集合、位数组、超日志和地理空间索引。因此,具有部分预定义的数据类型。 | MongoDB 支持的数据类型有字符串、整数、双精度、小数、布尔值、日期、object_id、地理空间。因此,具有预定义的数据类型。 |
5 | Redis 仅支持带有 RediSearch 模块的二级索引。 | MongoDB 支持二级索引,没有任何限制。 |
6 | Redis 中的服务器端脚本是通过 Lua 编写的。 | MongoDB 中的服务器端脚本是通过 JavaScript 编写的。 |
7 | Redis同时支持Master-Slave Replication和Master-Master Replication。 | MongoDB 仅支持主从复制。 |
8 | Redis 不支持 Map Reduce 方法。 | MongoDB 支持 Map Reduce 方法。 |
9 | Redis 的服务器操作系统有 BDS、Linux、OS X 和 Windows。 | MongoDB 的服务器操作系统是 Solaris、Linux、OS X 和 Windows。 |
10 | Twinkl Educational Publishing、Merrill Corporation、ASOS.com Limited、Owler, Inc. 等一些公司使用 Redis。 | Adobe、Amadeus、Lyft、ViaVarejo、Craftbase 等一些公司使用 MongoDB。 |