MogoDB和Redis应用场景的区别

来源:互联网 发布:网易房产住宅成交数据 编辑:程序博客网 时间:2024/05/22 11:51
什么是MongoDB
MongoDB 是一个跨平台的,面向文档的数据库,是当前 NoSQL 数据库产品中最热门的一种。它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的产品。它支持的数据结构非常松散,是类似JSON  的 BSON 格式,因此可以存储比较复杂的数据类型。
MongoDB特点
MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它是一个面向集合的,模式自由的文档型数据库。
具体特点总结如下:
(1)面向集合存储,易于存储对象类型的数据
(2)模式自由
(3)支持动态查询
(4)支持完全索引,包含内部对象

(5)支持复制和故障恢复
(6)使用高效的二进制数据存储,包括大型对象(如视频等)
(7)自动处理碎片,以支持云计算层次的扩展性
(8)支持 Python,PHP,Ruby,Java,C,C#,Javascript,Perl 及 C++语言的驱动程序,社区中也提供了对 Erlang 及.NET 等平台的驱动程序

(9) 文件存储格式为 BSON(一种 JSON 的扩展)


什么是Redis
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:
1、    字符串类型
2、    散列类型
3、    列表类型
4、    集合类型
5、    有序集合类型。

官方提供测试数据:50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s 。数据仅供参考,根据服务器配置会有不同结果。


redis的应用场景

缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
1.    聊天室的在线好友列表。
2    任务队列。(秒杀、抢购、12306等等)
3    应用排行榜。
4    网站访问统计。
5    数据过期处理(可以精确到毫秒)
6    分布式集群架构中的session分离。



什么时候用MongoDB?

当存储的数据不是特别重要,数据量又很大的时候,比如评论,收藏等数据.

什么时候用Redis?

当数据很重要而且数据量比较小的时候,可以用Redis,比如订单数据