浅谈MongoDB和Redis区别

很多人设计程序框架时在使用数据库时不清楚改选择什么数据库,下面就来谈谈MongoDB和Redis的区别:

简介

MongoDB更类似Mysql,支持字段索引、游标操作,其优势在于查询功能比较强大,擅长查询JSON数据,能存储海量数据,但是不支持事务。

Mysql在大数据量时效率显著下降,MongoDB更多时候作为关系数据库的一种替代。

内存管理机制

Redis数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的LRU算法删除数据。

MongoDB数据存在内存,由linux系统mmap实现,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。

支持的数据结构

Redis支持的数据结构丰富,包括hash、set、list等,前几天在用爬虫爬取优优好房时就用到了redis的list存储任务。

MongoDB数据结构比较单一,但是支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。

性能

二者性能都比较高,应该说都不会是瓶颈。

可靠性

二者均支持持久化。

集群

         MongoDB集群技术比较成熟,Redis从3.0开始支持集群。

不适用场景

Ø  需要使用复杂sql的操作

Ø  事务性系统

你可能感兴趣的:(浅谈MongoDB和Redis区别)