主从复制、读写分离、集群、为什么要使用Redis数据库[通俗易懂]

主从复制、读写分离、集群、为什么要使用Redis数据库[通俗易懂]一、什么是主从复制、读写分离、为什么要使用主从复制:是一种数据备份的方案。简单来说,是使用两个或两个以上相同的数据库,将一个数据库当做主数据库,而另一个数据库当做从数据库。在主数据库中进行相应操作时,从数据库记录下所有主数据库的操作,使其二者一模一样。读写分离:是一种让数据库更稳定的的使用数据库的方法。是在有从数据库的情况下使用,当主数据库进行对数据的增删改也就是写操作时,将查询的…

大家好,又见面了,我是你们的朋友全栈君。

一、什么是主从复制、读写分离、为什么要使用

主从复制:是一种数据备份的方案。

简单来说,是使用两个或两个以上相同的数据库,将一个数据库当做主数据库,而另一个数据库当做从数据库。主数据库中进行相应操作时,从数据库记录下所有主数据库的操作,使其二者一模一样。

读写分离:是一种让数据库更稳定的的使用数据库的方法。

是在有从数据库的情况下使用,当主数据库进行对数据的增删改也就是写操作时,将查询的任务交给从数据库

为什么要使用主从分离和读写操作呢?

主从复制:1、当主数据库出现问题时,可以当从数据库代替主数据库,可以避免数据的丢失。

     2、可以进行读写分离

读写分离:1、避免从数据库进行写操作而导致的主从数据库数据不一致的情况,因为当主从数据库数据不一致时,那么从数据库最主要的备份任务就没有意义了。 

        2、减轻主数据库的压力。因为进行写操作更耗时,所以如果不进行读写分离的话,写操作将会影响到读操作的效率。

二、什么是集群

如果说主从复制是各司其职的话,那么集群就是一群同样的个体做着同样的事情。在Redis中,数据的写入操作次数很大的情况下,只使用单独一个服务器来进行写入操作的话,效率不高,那么如果使用集群方案,利用多个Redis服务器来进行写操作,大量的数据,你写一点,我写一点,大家都分担一点,那么效率会高很多。就像一小块土地需要挖土,那么一台挖掘机就足够,但是遇上了一大片土地,虽然一台挖掘机也能够完成任务,但是需要很久很久,那么我现在再找个十台挖掘机一起挖土,那么效率就会高很多了。

集群模式的思想可以在多处使用。总之就是,一个个体完成不了或者说效率很低的场景下,都可以使用这种思想。
就如下面将要说到的哨兵,一个哨兵监视一个服务器集群肯定是不够的,那么就需要一个哨兵集群来监视。

三、什么是哨兵模式

是一种容灾方案。

哨兵:实则是一个在特殊模式下的Redis服务器,里面存储的是自己本身的信息,主服务器的信息,从服务器的信息。

用一个或者多个哨兵来监视主服务器(也就是进行写操作的服务器)是否在正常执行任务,一旦哨兵发现主服务器不可用时,就找到一个合适的从服务器成为主服务器。

四、为什么要用Redis数据库

Redis数据库是NOSQL数据库中以key-value存储模式下的一种数据库。

那么NOSQL又是什么数据库呢?非关系型数据库。

什么要使用Nosql? 
1) 当数据量的总大小一个机器放不下时。 
2) 数据索引一个机器的内存放不下时。 
3) 访问量(读写混合)一个实例放不下时。

在信息爆炸的今天,数据的存储,对数据的查询都是非常频繁且非常大量的。关系型数据库的就显得力不从心了,扩展性较差,查询简单条件数据的效率较低等缺点,无意是致命的。而NOSQL数据库中的数据之间并无关系,这一特点造就了NOSQL的易扩展性,读写性能高等优势。所以面对大量的数据读写,非关系型数据库相比较于关系型数据库有着巨大的优势。

那么Redis数据库为什么又在NOSQL中脱颖而出?

我认为是有以下几个原因,

1、Redis支持多种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。可以在大部分的场景中使用。

2、支持主从复制,读写分离。读写效率大大提升。

3、数据存储在内存中,可用来做缓存。需要持久化的数据就将其存入硬盘,不需要持久化的数据,可以进行短暂的存储,提高访问速度。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147134.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 华为版本号命名规则是什么_华为路由器命名规则

    华为版本号命名规则是什么_华为路由器命名规则转载于:https://blog.51cto.com/xueyue8/2352728

    2022年9月11日
    2
  • 如何在Chrome下使用Postman进行rest请求测试

    如何在Chrome下使用Postman进行rest请求测试

    2021年10月12日
    37
  • 游戏服务器架构演化史pdf_分布式游戏服务器

    游戏服务器架构演化史pdf_分布式游戏服务器类型1:卡牌、跑酷等弱交互服务端卡牌跑酷类因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往使用简单的HTTP服务器:登录时可以使用非对称加密(RSA,DH),服务器根据客户端uid,当前时间戳还有服务端私钥,计算哈希得到的加密key并发送给客户端。之后双方都用HTTP通信,并用那个key进行RC4加密。客户端收到key和时间

    2022年10月21日
    3
  • 如何用matlab编写分段函数_matlab 分段函数

    如何用matlab编写分段函数_matlab 分段函数f(x)的定义如下:2226,04()56,010,231,xxxxfxxxxxxxx且且其它1、写一个函数文件f(x)实现该函数,要求参数x可以是向量;2、作出该函数的图形;3、求出f(x)的零点与最值。解:(1)、编写M函数文件functiony=f(x)n=length(x);ifx<0&x~=-4y=x.^2+x-6;elseif…

    2022年6月14日
    127
  • 微信公众平台、微信公众平台.小程序、微信.开放平台[通俗易懂]

    微信公众平台、微信公众平台.小程序、微信.开放平台[通俗易懂]一个开发者账号如何上线多个小程序?一个小程序账号对应一个小程序,可发布一个小程序上线。如果需要开发多款小程序,请注册新的账号。https://developers.weixin.qq.com/community/develop/doc/000886957d47f87cf9997f47c5b000小程序怎么发布,一套小程序代码怎么同时发布到不同的小程序上面,发布为体验版和正式版本!点击上传旁边的详情按钮,打开配置页面,修改项目addip,吧这个appid修改成需要覆盖的线上小程序id即可https:

    2022年6月16日
    43
  • 常用存储器分类

    常用存储器分类1 存储器是计算机实现记忆功能的部件 用来存放程序和数据 是微机系统中重要的组成部分 存储器的容量越大 表明能存储的信息越多 计算机的处理能力也就越能充分展现 存储器系统由外存储器和内存储器两部分组成 其中内存储器用来存放当前运行的程序和数据 一般由一定容量的速度较高存储器组成 CPU 可直接用指令对内存储器进行读 写操作 内存储器的分类如下 2 RAM RandomAccess

    2025年8月13日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号