Redis和MongoDB的区别和使用场景

前言

MongoDB是高性能、无模式的文档型数据库,支持二级索引,非常适合文档化格式的存储和查询。MongoDB的官方定位是通用数据库,确实和MySQL有些像,现在也是很流行,但它还是有事务、join等短板,在事务、复杂查询应用下无法取代关系型数据库;
Redis是内存型Key/Value系统,读写性能非常好,支持操作原子性,很适合用来做高速缓存。
就Redis和mongoDB来说,大家一般称为Redis缓存、MongoDB数据库,这也是有道理的。
Redis主要把数据存储在内存中,其“缓存”的性质远远大于其“数据存储”的性质,其中数据的增删改查也只是像变量操作一样简单;
MongoDB却是一个“存储数据”的系统,增删改查可以添加很多条件,就像SQL数据库一样灵活。

Mongodb与Redis对比

MongoDB和Redis都是NoSQL,采用结构型数据存储。二者在使用场景中,存在一定的区别,这也主要由于二者在内存映射的处理过程,持久化的处理方法不同。MongoDB建议集群部署,更多的考虑到集群方案,Redis更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式。

1.内存管理

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

MongoDB数据会优先存于内存,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。

需要注意的是Redis 和MongoDB特别消耗内存&

你可能感兴趣的:(性能篇)