redis和mongodb区别是什么

redis和mongodb区别在于以下几个方面:1、内存管理机制;2、支持的数据结构;3、数据量和性能;4、性能;5、可靠性;6、数据分析;7、事务支持情况;8、集群。内存管理机制是指,Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。

一、内存管理机制

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

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

二、支持的数据结构

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

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

三、数据量和性能:

当物理内存够用的时候,redis>mongodb>mysql

当物理内存不够用的时候,redis和mongodb都会使用虚拟内存。

实际上如果redis要开始虚拟内存,那很明显要么加内存条,要么你换个数据库了。

但是,mongodb不一样,只要,业务上能保证,冷热数据的读写比,使得热数据在物理内存中,mmap的交换较少。

mongodb还是能够保证性能。

四、性能

mongodb依赖内存,TPS较高;Redis依赖内存,TPS非常高。性能上Redis优于MongoDB。

五、可靠性

mongodb从1.8版本后,采用binlog方式(MySQL同样采用该方式)支持持久化,增加可靠性;

Redis依赖快照进行持久化;AOF增强可靠性;增强可靠性的同时,影响访问性能。

可靠性上MongoDB优于Redis。

六、数据分析

mongodb内置数据分析功能(mapreduce);而Redis不支持。

七、事务支持情况

Redis 事务支持比较弱,只能保证事务中的每个操作连续执行;mongodb不支持事务。

八、集群

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

延伸阅读

redis是什么

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

文章标题:redis和mongodb区别是什么,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/46781

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z站长
上一篇 2023年3月10日 下午6:38
下一篇 2023年3月11日 下午1:22

相关推荐

  • 星瀚资本创始合伙人:当投资人杨歌遇到技术创业者杨歌

    文| babayage 编辑 |笑 笑 插画 |仙人张 Vol.1 技术青年创业梦碎?年轻人碎上两轮才叫创业 Up主:来自2008年的创业者杨歌创业项目:红外自动热像分析系统 弹幕君:来自2020年的投资人杨歌,星瀚资本创始合伙人。 这个项目是我第二次创业,2005年启动,2006年成立公司,200…

    2022年3月20日
    36900
  • 如何做分工计划的工具

    做分工计划要做到:一、明确目标与范围;二、定义项目组织结构;三、分解工作活动并排序,输出进度计划表;四、确认项目计划并基线化。项目目标应该至少包括费用、时间进度、技术性能和质量标准。确定项目范围也就定义了项目的工作边界。 一、明确目标与范围 项目目标应该至少包括费用、时间进度、技术性能和质量标准。确…

    2023年3月30日
    8000
  • nodejs 开发企业微信第三方应用入门教程

    最近公司要开发企业微信端的 Worktile,以前做的是企业微信内部应用,所以只适用于私有部署客户,而对于公有云客户就无法使用,所有就准备开发企业微信的第三方应用,本文主要介绍在调研阶段遇到的山珍海味。 开发之前你需要前注册为第三方服务商,然后用第三方服务商的账号创建应用,创建之后只需要管理员授权应…

    2022年3月20日
    78900
  • 系统bug怎么修复

    修复系统bug的步骤:一、诊断和确认Bug;二、修复Bug;三、测试和验证。在修复Bug之前,我们需要首先诊断和确认Bug。通常情况下,Bug会在系统中引起错误或异常行为,甚至导致系统崩溃。 一、诊断和确认Bug 在修复Bug之前,我们需要首先诊断和确认Bug。通常情况下,Bug会在系统中引起错误或…

    2023年4月24日
    56700
  • 知识空间怎么建立

    建立知识空间需要遵循以下步骤:1.确定核心领域;2.组织知识结构;3.选择合适的工具;4.确立知识更新机制;5.注重知识的深度和广度。知识空间的建立首先从确定核心领域开始。例如,学术研究、企业管理、技术开发等。不同的领域有着各自的特点和需求,因此,确定核心领域有助于更有针对性地收集、整理和应用知识。…

    2023年7月11日
    11400
  • 实践教程:如何定期更新和维护知识库内容

    定期更新和维护知识库内容的步骤:1、制定更新计划;2、审查和整理现有内容;3、收集新信息;4、更新知识库结构;5、制定培训计划;6、制定更新流程和责任人;7、利用工具和技术;8、监控和评估;9、定期备份;10、优化用户体验;11、安全和隐私保护;12、持续改进。知识库作为组织内部的重要信息资源,扮演着关键的角色。

    2023年11月16日
    3000
  • oa办公系统需要开通什么模块

    开通以下模块:一、人事管理模块;二、流程审批模块;三、公文管理模块;四、项目管理模块;五、资产管理模块;六、客户关系管理模块;七、知识管理模块。人事管理模块是OA系统中最基本的模块之一。它包括员工档案管理、考勤管理、薪资管理等内容。 一、人事管理模块 人事管理模块是OA系统中最基本的模块之一。它包括…

    2023年5月28日
    9600
  • 青藤CEO张福:挑战最难之事,追求优异网络安全产品

    文| babayage 编辑 | 笑 笑 张福此人内心汹涌,掩盖于灰白T恤、运动裤、白色洞洞鞋之下,初见时很难感受得到。多年来,投资人、合伙人、员工,对他评价出奇一致:追求极致的网络安全技术,不断尝试挑战世上最难的事,极度淡泊名利。 网络安全,此生信仰 张福初中就迷恋计算机,同龄人大都把计算机当作游…

    2022年3月20日
    34100
  • 内网文件协同软件有哪些

    内网文件协同软件有:1、飞书;2、企业微信;3、石墨文档;4、Teambion;5、金山文档;6、WPS;7、腾讯文档;8、Worktile。其中,飞书已成为先进企业的名列前茅选择,服务包括小米、理想汽车、三一重工、抖音、华住集团等在内的各行各业先进企业。 一、飞书 飞书已成为先进企业的名列前茅选择…

    2023年4月21日
    47200
  • 产品管理方法有哪些

    产品管理方法有:1、需求管理;2、数据管理;3、安全管理;4、生产管理。其中,需求管理是指,产品上线后,一定会有新的需求持续产生,这些需求可能是基础功能改进、用户体验提升、或者是bug修复,或者新功能的迭代。 一、需求管理 产品上线后,一定会有新的需求持续产生,这些需求可能是基础功能改进、用户体验提…

    2023年4月17日
    18800

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部