• Redis 教程 - 主从复制


    Redis 教程 - 主从复制

    Redis 支持主从复制(Master-Slave Replication),通过主从复制可以将一个 Redis 服务器(主节点)的数据复制到其他 Redis 服务器(从节点),以实现数据的冗余备份、读写分离等功能。本教程将介绍 Redis 主从复制的配置和使用方法。

    1. 配置主节点

    首先,需要配置主节点以允许从节点连接和复制数据。

    在主节点的 Redis 配置文件(redis.conf)中,进行以下设置:

    # 启用主节点
    slave-serve-stale-data yes
    # 设置密码(可选)
    requirepass 
    
    • 1
    • 2
    • 3
    • 4

    其中,slave-serve-stale-data 设置为 yes 表示主节点在没有有效连接的从节点时仍然提供数据。

    如果需要设置密码进行连接验证,可以使用 requirepass 设置密码。

    2. 配置从节点

    接下来,需要配置从节点来连接主节点并复制数据。

    在从节点的 Redis 配置文件中,进行以下设置:

    # 启用从节点
    slaveof  
    # 设置密码(如果主节点有密码)
    masterauth 
    
    • 1
    • 2
    • 3
    • 4

    其中,slaveof 命令用于指定从节点连接的主节点的 IP 地址和端口号。

    如果主节点设置了密码进行连接验证,需要使用 masterauth 设置密码。

    3. 启动主从复制

    完成主节点和从节点的配置后,按照以下步骤启动主从复制:

    1. 启动主节点 Redis 服务器。
    2. 启动从节点 Redis 服务器。

    从节点连接到主节点后,会开始复制主节点的数据。你可以使用 Redis 命令检查主从复制的状态。

    以下是一些常用的命令:

    • INFO replication:查看主从复制的信息。
    • SLAVEOF no one:断开从节点与主节点的连接,停止主从复制。
    • SLAVEOF :将从节点连接到另一个主节点,切换主节点。

    4. 主从复制的应用

    主从复制可以用于以下场景和应用:

    • 数据冗余备份:通过复制数据到从节点,实现数据的冗余备份,提高数据的可靠性。
    • 读写分离:将读请求分发到从节点,减轻主节点的负载,提高系统整体的吞吐量。
    • 故障切换:当主节点发生故障时,可以将其中一个从节点升级为主节点,实现快速故障切换。

    5. 举个例子

    当你打开一个 Redis 命令行客户端时,可以按照以下步骤进行 Redis 主从复制的示例操作:

    1. 打开一个终端窗口,并输入以下命令以启动 Redis 命令行客户端:

      redis-cli
      ```
      
      
      • 1
      • 2
      • 3
    2. 连接到主节点(Master):

      在命令行中输入以下命令来连接到主节点:

      127.0.0.1:6379> INFO replication
      
      • 1

      这将显示主节点的相关信息,包括主从复制的状态。

    3. 配置主节点:

      在主节点的 Redis 配置文件中(通常是 redis.conf),确保以下设置:

      # 启用主节点
      slave-serve-stale-data yes
      
      • 1
      • 2
    4. 启动从节点(Slave):

      在另一个终端窗口中,启动另一个 Redis 服务器实例作为从节点。使用以下命令:

      redis-server --port 6380 --slaveof 127.0.0.1 6379
      
      • 1

      这将启动一个从节点,该节点将连接到本地主节点。

    5. 验证主从复制状态:

      回到 Redis 命令行客户端,在主节点的命令行窗口中,输入以下命令来查看主从复制的状态:

      127.0.0.1:6379> INFO replication
      
      • 1

      这将显示主节点和从节点的相关信息,包括主从节点的连接状态和复制偏移量。

    6. 进行数据操作:

      在主节点的命令行窗口中进行一些数据操作,例如设置键值对:

      127.0.0.1:6379> SET mykey "Hello, Redis!"
      
      • 1

      这将在主节点上设置一个键为 mykey,值为 "Hello, Redis!" 的键值对。

    7. 验证数据复制:

      在从节点的命令行窗口中,输入以下命令来验证数据是否被成功复制到从节点:

      127.0.0.1:6380> GET mykey
      
      • 1

      如果数据成功复制,将返回与主节点相同的值。

    通过以上步骤,就表示成功地进行了 Redis 主从复制的示例操作。

  • 相关阅读:
    【手把手教你写Go】05.函数
    调频系列柔性直流输电VSC-HVDC送端电网受端电网联合一次调频。
    【软件测试】坚持才有骄傲的资格,8年测试老鸟给我的忠告......
    java计算机毕业设计高校学生社团管理源码+数据库+系统+lw文档+mybatis+运行部署
    一本通1067;整数的个数
    (视频教程)Complexheatmap做热图之设置不一样的注释效果
    数据库定义语言:DDL(data definition language)
    关于knike4j接口文档信息泄露的处理记录
    molecular-graph-bert(一)
    使用Kibana进行数据可视化
  • 原文地址:https://blog.csdn.net/weixin_59367964/article/details/132607013