Redis主从复制(反客为主模式 演示示例)——图解版

2024-01-14 00:30

本文主要是介绍Redis主从复制(反客为主模式 演示示例)——图解版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

    • 一、Redis主从复制(反客为主的理解)
    • 二、Redis主从复制配置步骤概述
    • 三、lz虚拟机配置说明
    • 四、Redis主从复制(每台服务器的redis配置文件配置步骤)
      • 1、配置master服务器(即IP为192.168.3.15的6379端口)的配置文件
      • 2、配置slave1服务器(即IP为192.168.3.16的6380端口)的配置文件
      • 3、配置slave2服务器(即IP为192.168.3.17的6381端口)的配置文件
    • 五、Redis主从复制(反客为主演示示例,包含各种宕机情况))
      • 1、分别启动3台服务器的redis服务端,并查看3台服务器的角色信息
      • 2、slave1和slave2分别执行slaveof +master服务器ip+端口命令,查看slave1和slave2角色信息,并查看master角色信息。
      • 4、当master服务器宕机后,在slave1服务器中执行slaveof no one命令,slave2服务器重新挂载到slave1服务器中,查看slave1和slave2的角色。
      • 5、当master服务器宕机重新启动后,在次查看slave1服务器和slave2服务器角色。

一、Redis主从复制(反客为主的理解)

在这里插入图片描述

  • 由上图结构可知,反客为主指一个master服务器同时挂2个salve服务器。当master宕机后,在2个slave服务器的哪一台服务器中执行slaveof no one 命令,哪一台服务器就会升级为master服务器。

二、Redis主从复制配置步骤概述

序号配置作用
1配从(库)不配主(库)配置从服务器不配置主服务器
2从库配置,使用 slaveof 主库IP 主库端口 命令slaveof命令再每次与master断开之后,都需要重新连接,除非你配置进redis.conf文件。
3info replication命令查看主/从复制信息
4slaveof no one命令使当前数据库停止与其他数据库同步,转成主数据库
5拷贝redis.conf文件表示指定配置文件启动redis服务
6开启daemonize yes表示是否把redis-server启动在后台,默认是“否”。若改成yes,会生成一个pid文件。
7指定pid文件名字表示pid文件的路径
8指定IP和端口表示指定服务器IP和端口如果是主机的话bind要改成0.0.0.0,从机不需要(主机一定要修改,否则主从连接失败)
9指定log文件名字表示日志文件路径
10指定dump.rdb名字表示数据库文件路径

三、lz虚拟机配置说明

1、三台虚拟机配置说明:

ip端口说明
192.168.3.15(master)6379redis主服务器
192.168.3.16(slave1)6380redis从服务器
192.168.3.17(slave2)6381redis从服务器

2、关闭三台虚拟机的防火墙,保证三台虚拟机的ip和端口都能互相访问通
在这里插入图片描述

四、Redis主从复制(每台服务器的redis配置文件配置步骤)

1、配置master服务器(即IP为192.168.3.15的6379端口)的配置文件

  • 拷贝redis.conf文件为redis6379.conf,并编辑redis6379.conf文件。如下图:
    在这里插入图片描述

  • 开启daemonize yes,如下图:
    在这里插入图片描述

  • 修改pid文件名字为redis_6379.pid,如下图:
    在这里插入图片描述

  • 指定IP和端口(6379),主机一定要把bind 127.0.0.1要改成0.0.0.0,从机不需要(一定要修改,否则主从连接失败),如下图:

    在这里插入图片描述
    在这里插入图片描述

  • 修改log文件名字为6379.log,如下图:
    在这里插入图片描述

  • 修改dump.rdb名字为dump6379.rdb,如下图:
    在这里插入图片描述

2、配置slave1服务器(即IP为192.168.3.16的6380端口)的配置文件

  • 拷贝redis.conf文件为redis6380.conf,并编辑redis6380.conf文件。如下图:
    在这里插入图片描述

  • 开启daemonize yes,如下图:
    在这里插入图片描述

  • 修改pid文件名字为redis_6380.pid,如下图:
    在这里插入图片描述

  • 指定IP和端口(6380),slave1从服务器一定也要把bind 127.0.0.1要改成0.0.0.0,因为当master宕机后,需要在slave1服务器中执行slaveof no one命令,从而升级为master服务器(一定要修改,否则主从连接失败)。如下图:

    在这里插入图片描述

    在这里插入图片描述

  • 修改log文件名字为6380.log,如下图:
    在这里插入图片描述

  • 修改dump.rdb名字为dump6380.rdb,如下图:
    在这里插入图片描述

3、配置slave2服务器(即IP为192.168.3.17的6381端口)的配置文件

  • 拷贝redis.conf文件为redis6381.conf,并编辑redis6381.conf文件。如下图:
    在这里插入图片描述

  • 开启daemonize yes,如下图:
    在这里插入图片描述

  • 修改pid文件名字为redis_6381.pid,如下图:
    在这里插入图片描述

  • 指定IP和端口(6381),从主机不需要把bind 127.0.0.1要改成0.0.0.0,从机不需要,如下图:

    在这里插入图片描述
    在这里插入图片描述

  • 修改log文件名字为6381.log,如下图:
    在这里插入图片描述

  • 修改dump.rdb名字为dump6381.rdb,如下图:
    在这里插入图片描述

五、Redis主从复制(反客为主演示示例,包含各种宕机情况))

1、分别启动3台服务器的redis服务端,并查看3台服务器的角色信息

  • 启动6379端口的master服务器并测试是否连接成功,如下图:

    在这里插入图片描述

  • 启动6380端口的slave1服务器并测试是否连接成功,如下图:
    在这里插入图片描述

  • 启动6381端口的slave2服务器并测试是否连接成功,如下图:
    在这里插入图片描述

  • 输入info replication命令,查看3台服务器的角色信息,由下图可知,3台服务器均为master服务器,如下图:
    在这里插入图片描述

2、slave1和slave2分别执行slaveof +master服务器ip+端口命令,查看slave1和slave2角色信息,并查看master角色信息。

  • 由下图可知,slave1和slave2服务器的角色都为slave,
    在这里插入图片描述
  • 由下图可知,master服务器的角色都为master,并且挂2个从服务器。
    在这里插入图片描述

4、当master服务器宕机后,在slave1服务器中执行slaveof no one命令,slave2服务器重新挂载到slave1服务器中,查看slave1和slave2的角色。

  • 由下图可知,当master宕机后,在slave1服务器中执行slaveof no one命令并且在slave2服务器重新挂载到slave1服务器中,salve1会升级为master服务器。并且可以看到挂载了slave2服务器。
    在这里插入图片描述

5、当master服务器宕机重新启动后,在次查看slave1服务器和slave2服务器角色。

  • 由下图可知,当master重新启动后,master自己单独一套体系,而slave1和slave2服务器单独一套体系,互不影响。
    在这里插入图片描述

这篇关于Redis主从复制(反客为主模式 演示示例)——图解版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/li1325169021/article/details/119721634
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/603321

相关文章

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放