redis与mongodb的区别总结
MongoDB更类似MySQL,⽀持字段索引、游标操作,其优势在于查询功能⽐较强⼤,擅长查询JSON数据,能存储海量数据,但是不⽀持事务。
Mysql在⼤数据量时效率显著下降,MongoDB更多时候作为关系数据库的⼀种替代。
mongodb更吃内存,因为当mongo发现内存不够的时候,是以2的指数级别来申请内存的。所以⼀般都建议把mongodb单独放。
其实可以说redis更像缓存机制,cookie,也可以设定数据的过期时间,当然也可以永久存储(但是好像稍逊⾊?)。mongodb是⽂档式的存储。
内存管理机制:
Redis数据全部存在内存,定期写⼊磁盘,当内存不够时,可以选择指定的LRU算法删除数据。
MongoDB和mysql⼀样,只是把索引⽂件放到内存中。由linux系统mmap实现,当内存不够时,只将热点数据放⼊内存,其他数据存在磁盘。
⽀持的数据结构:
Redis⽀持的数据结构丰富,包括hash、set、list等。
MongoDB数据结构⽐较单⼀,但是⽀持丰富的数据表达,索引,最类似关系型数据库,⽀持的查询语⾔⾮常丰富。
redis五种数据结构
性能:
redis更适⽤于较⼩数据量的性能及运算
mongodb则在海量数据的访问下性能更优
可靠性:
⼆者均⽀持持久化。
集:
MongoDB集技术⽐较成熟,Redis从3.0开始⽀持集。
不适⽤场景:
Ø 需要使⽤复杂sql的操作
Ø 事务性系统
适⽤场景:
Redis 最佳应⽤场景:适⽤于数据变化快且数据库⼤⼩可遇见(适合内存容量)的应⽤程序。
MongoDB:最佳应⽤场景:适⽤于需要动态查询⽀持;需要使⽤索引⽽不是 map/reduce功能;需要对⼤数据库有性能要求;需要使⽤ CouchDB但因为数据改变太频繁⽽占满内存的应⽤程序。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。