Redis和MongoDB哪个好?Python学习教程!

  Redis和MongoDB都是NOSQL数据库,采用结构型数据存储,在学习Python的过程中,我们也会接触到这方面的知识,那么你知道Redis和MongoDB各具有怎样的优劣势吗?我们一起来了解一下吧。

  Redis优缺点介绍:

  优点:

  读写性能优异支持数据持久化;支持AOF和RDB两种持久化方式支持主从复制;

  主动会自动将数据同步到从机,可以进行读写分离;

  数据结构丰富,支持string、hash、set、sortedset、list等数据结构。

  缺点:

  Redis不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的ip才能恢复。主机宕机,宕机前有部分数据未能及时同步到从机,切换ip后还会引入数据不一致的问题,降低系统可用性。

  Redis的主机从复制采用全量复制,复制过程中主机会fork出一个子进程对内存做一份快照,并将子进程的内存快照保存为文件发送给从机,这一过程需要确保主机有足够多的空余内存。

  Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂,为避免这种问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费。

  Mongo DB优缺点介绍:

  优点:

  弱一致性,更能证明用户的访问速度;

  文档结构的存储方式,能够更便捷的获取数;

  内置GridFS,高效存储二进制大对象,比如照片和视频;

  支持复制集、主备、互动主备、自动分片等特性;

  动态查询、全索引支持、扩展到内部对象和内嵌数组。

  缺点:

  不支持事务;

  MongoDB占用空间过大;

  维护工具不够成熟。

(0)

相关推荐

  • Redis和MongoDB区别

    MongoDB 更类似 MySQL,支持字段索引.游标操作,其优势在于查询功能比较强大,擅长查询 JSON 数据,能存储海量数据,但是不支持事务. Redis 是一个开源(BSD许可)的,内存中的数据 ...

  • 基于.net ,使用几种常见的NoSQL数据库

    目录 0 .net中的缓存对象 1.MemCached 2.Redis 3.MongoDB 示例完整源码地址 shanzm-2020年1月10日 10:10:10 本文只是我的一个Github仓库的自 ...

  • Redis集群方案怎么做?Python学习教程

    Redis集群方案该怎么做?都有哪些方案?Redis回收进程是如何工作的?这是面试找工作期间最常见的问题,接下来我们一起来看看吧. Redis集群方案该怎么做?具体分为三种: 1. codis:目前用 ...

  • Python学习教程:Python 内置函数最全汇总(上篇)

    Python学习教程:Python 内置函数最全汇总(一) 1 abs() 绝对值或复数的模 In [1]: abs(-6)Out[1]: 6 2 all() 接受一个迭代器,如果迭代器的所有元素都为 ...

  • Python学习教程:Python内置函数大总结(下篇)

    这里接着上次的Python学习教程,给大家总结了Python 剩下的33个内置函数. 31 hash() 返回对象的哈希值 In [112]: hash(xiaoming)Out[112]: 6139 ...

  • Python代码区分大小写吗?python学习教程

    大家都知道,很多编程语言在撰写代码的时候是区分大小写的,那么Python代码区分大小写吗?我们一起来看看吧. Python代码区分大小写吗? 答案是:当然.Python中的代码是区分大小写的,无论是变 ...

  • Python三大主流框架对比!Python学习教程

    在Python语言中,有三大主流框架,它们分别为:Flask.Django.Tornado,各具有独特的优势,也是学习Python时必须掌握的框架,那么它们之间有什么区别呢?我们一起来看看详细的介绍. ...

  • 集合和列表有什么区别?Python学习教程

    学习Python的人应该都听说过集合和列表,也知道集合是处理数学问题的工具,列表是处理数据友好的工具,那么它们之间有什么区别呢?我们一起来看看吧. 什么是集合呢?集合是无序的.不重复的数据集合,它本身 ...

  • Python字符编码有几类?Python学习教程

    刚开始学习Python,肯定少不了基础知识的了解,比如说字符编码,那么你知道Python常见字符编码有哪些吗?我们一起来看看Python字符编码的常用种类吧. 第一种:ASCII码.是基于拉丁字母的一 ...

  • TCP和UDP区别是什么?Python学习教程

    TCP和UDP同属于协议,在学习Python的时候都会涉及到这方面的知识,那么TCP和UDP区别是什么呢?我们来看看它们的优缺点吧. 什么是UDP? UDP是面向无连接的通讯协议,UDP数据包含目的端 ...

  • Python自动化运维可以做什么?Python学习教程

    自动化运维可以说是Python的自留地,是Linux运维工程师首选的编程语言,而且Python在自动化运维方面深入人心,受到了大家的追捧.那么,你知道学了Python自动化运维可以做什么吗?带着你的疑 ...