前面两期给大家讲解了nosql,记以及三者之间的区别
![d843d99963704bc42c37b3e2573cd602.png](https://i-blog.csdnimg.cn/blog_migrate/d1d3276329db0a627892fcac2bca73e7.jpeg)
今天这期主要给大家介绍下这三者的优缺点分别是什么?看完之后希望能有够对这三个有一个更加深入的认识
MongoDB优缺点
![223df2e953cc4b753f869f8d671a2e48.png](https://i-blog.csdnimg.cn/blog_migrate/ef6aab4e3749bdeee1d40219cfc8e652.jpeg)
优点
1,内置GridFS,支持大容量的存储, GridFS是一个出色的分布式文件系统,可以支持海量的数据存储。内置了GridFS了MongoDB,能够满足对大数据集的快速范围查询。
2,内置Sharding,分片简单
3,大数据数据下,性能优越,在使用场合下,千万级别的文档对象,近10G的数据,对有索引的ID的查询不会比mysql慢,而对非索引字段的查询,则是全面胜出
4,支持自动故障恢复,
5,文档结构的存储方式,能够更便捷的获取数据
缺点
1、在集群分片中的数据分布不均匀
2、单机可靠性比较差
3、大数据量持续插入,写入性能有较大波动
4、磁盘空间占用比较大
Redis优缺点
![158638789b9fa0ffbe1e474a6ecbfcc8.png](https://i-blog.csdnimg.cn/blog_migrate/9a829fdebb824cc26aad67d0c60cc0c4.jpeg)
优点
1、读写功效优秀,从内存中间举行IO读写速率迅速
2、支持主从复制,主机遇主动将数据同步到从机,可以或许举行读写分别辨别。
![23eea311927d6fe0cc267e62fdb0c4b1.png](https://i-blog.csdnimg.cn/blog_migrate/f934859e6a4345ab6934e6e5c5743577.jpeg)
3、支持数据持久化,支持AOF和RDB两种历久化要领,
4、支持多种数据存储花样,除了String范例外另有hash,set,sortedset、list等数据布局。
5、redis是单线程多CPU,如许速率更迅速,因为单线程,没有线程切换的开销,不必要思量加锁开释所,也就没有死锁的题目,单线程-多路复用IO模子,服从高。
缺点
1.Redis只能应用单线程,功效受限于CPU功效,故单实例CPU最高才大概抵达5-6wQPS每秒(取决于数据布局,数据巨细以及服务器硬件功效,通常情况中QPS岑岭大概在1-2w摆布)。
2.支持简短的交易必要,但业界应用场景很少,并不老到,既是优点也是缺点。
3.Redis在string范例上会花消较多内存,可以或许应用dict(hash表)蜷缩存储以降落内存耗用。
Memcache优缺点
优点
1.Memcached可以或许行使多核上风,单实例吞吐量极高,可以或许抵达几十万QPS(取决于key、value的字节巨细以及服务器硬件功效,通常情况中QPS岑岭大概在4-6w摆布)。适合于最大水平扛量。
2.支持干脆建设为session handle。
缺点
1.不能持久化存储
2.存储数据有限制:1M 【大于1M,认为就行分割】(内存碎片)
3.mm存储数据只能key-value
4.集群数据没有复制和同步机制 【崩溃不会影响程序,会从数据库中取数据】
![235c7221899f7ea4490292d90faf13b9.gif](https://i-blog.csdnimg.cn/blog_migrate/7c37aa1dfabdedca0887a8fbee65098d.gif)
以上就是关于这三者之间的区别,想要查看前两期的内容可以点击下方
清晰易懂的介绍MongoDb,Memchache,Redis三者之间区别
为什么大公司都在用nosql,看完你就明白