主页 > 知识库 > redis与mongodb的区别总结

redis与mongodb的区别总结

热门标签:服务外包 地方门户网站 AI电销 网站排名优化 Linux服务器 铁路电话系统 呼叫中心市场需求 百度竞价排名

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

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

mongodb更吃内存,因为当mongo发现内存不够的时候,是以2的指数级别来申请内存的。所以一般都建议把mongodb单独放。

其实可以说redis更像缓存机制,cookie,也可以设定数据的过期时间,当然也可以永久存储(但是好像稍逊色?)。mongodb是文档式的存储。

内存管理机制:

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

MongoDB和mysql一样,只是把索引文件放到内存中。由linux系统mmap实现,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。

支持的数据结构:

Redis支持的数据结构丰富,包括hash、set、list等。

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

性能:

redis更适用于较小数据量的性能及运算

mongodb则在海量数据的访问下性能更优

可靠性:

二者均支持持久化。

集群:

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

不适用场景:

Ø 需要使用复杂sql的操作

Ø 事务性系统

适用场景:

Redis 最佳应用场景:适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序。

MongoDB:最佳应用场景:适用于需要动态查询支持;需要使用索引而不是 map/reduce功能;需要对大数据库有性能要求;需要使用 CouchDB但因为数据改变太频繁而占满内存的应用程序。

您可能感兴趣的文章:
  • Redis分布式锁的实现方式(redis面试题)
  • Redis实现分布式锁的几种方法总结
  • 详解使用Redis SETNX 命令实现分布式锁
  • Redis上实现分布式锁以提高性能的方案研究
  • 基于Redis实现分布式锁以及任务队列
  • golang实现redis的延时消息队列功能示例
  • Docker部署Django+Mysql+Redis+Gunicorn+Nginx的实现
  • redis分布式锁的go-redis实现方法详解

标签:仙桃 衡水 湖南 兰州 湘潭 铜川 黄山 崇左

巨人网络通讯声明:本文标题《redis与mongodb的区别总结》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266