MySql教程

MySQL、Redis、MongoDB三者的优缺点和使用场景

本文主要是介绍MySQL、Redis、MongoDB三者的优缺点和使用场景,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MySQLRedisMongoDB
类型RDBMS关系型数据库Nosql非关系型数据库Nosql非关系型数据库

特点

数据通常需要做结构化查询,比如join,这时候,关系型数据库就要胜出一筹 读写性能优异。丰富的数据类型,包括set, zset, list, hash, string 这五种数据类型,操作非常方便。高性能、易部署、易使用、高速读写。MongoDB 是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。
使用场景保存关系复杂的高价值数据。当你的数据为结构化数据,符合关系型数据库的标准时,优先考虑使用mysql等关系型数据库,因为发展悠久,社区强大,数据量太大考虑优化、分库分表等策略;缓存经常被读取的热数据。Redis是完全基于内存的,存储数据量较少,所以不单独用来作为业务数据库存储,可以配合MySQL、MongoDB等解决有实时数据获取需求的快速处理;保存海量低价值的数据。数据不是特别重要,数据表结构变化较为频繁,数据量特别大,数据的并发性特别高,对事务无要求的场景。例如:日志、地理位置、json、监控数据、用户评论、爬虫数据。
优点查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高

由于数据存放在内存中,因此读写性能高;

提供面向文档存储,操作简单,

支持大容量存储,内置GridFS。

海量数据性能优越、高扩展。
缺点海量数据处理的时候效率会显著变慢占用内存大,修改配置重启耗时。Redis 所有数据都是放在内存中的,持久化使用 RDB 方式或者 aof 方式。不支持事务、占用空间大、没有特别成熟的工具

当物理内存够用的时候,Redis > MongoDB > MySQL

这篇关于MySQL、Redis、MongoDB三者的优缺点和使用场景的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!