mongodb,redis,mysql的区别和具体应用场景

一、MySQL

1.查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。

2.缺点:海量数据处理的时候效率会显著变慢。

 

二、Mongodb

1.非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性(self-describing),呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。

2.数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。MongoDB 是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。

3.适合场景:数据不是特别重要,数据表结构变化较为频繁,数据量特别大,数据的并发性特别高,对事务无要求的场景。例如:日志、地理位置、json、监控数据、用户评论、爬虫数据。

4.优势:海量数据性能优越、高扩展。

5.缺点:不支持事务、占用空间大、没有特别成熟的工具

 

三、Redis

1.Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库。

2.应用场景:配合关系型数据库做高速缓存、分布式架构做session共享、热点、排行榜、计数器、分布式锁、最新列表、关注推荐、购物车等。

3.优点:读写性能优异。丰富的数据类型,包括set, zset, list, hash, string 这五种数据类型,操作非常方便。支持持久化存储。丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

4.缺点:占用内存大,修改配置重启耗时。

 



posted @ 2020-03-04 16:48  kerwin cui  阅读(859)  评论(0编辑  收藏  举报