Linux下一台服务器Redis主从复制(master-slave)配置

Posted _夕颜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下一台服务器Redis主从复制(master-slave)配置相关的知识,希望对你有一定的参考价值。

主从概念

  • ⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构
  • master用来写数据,slave用来读数据,经统计:网站的读写比率是10:1
  • 通过主从配置可以实现读写分离

  • 复制功能也不会阻塞从服务器: 只要在 redis.conf 文件中进行了相应的设置, 即使从服务器正在进行初次同步, 服务器也可以使用旧版本的数据集来处理命令查询。

  • 通过复制功能来让主服务器免于执行持久化操作: 只要关闭主服务器的持久化功能, 然后由从服务器去执行持久化操作即可。减少服务器压力。

复制功能的运作原理

  • 无论是初次连接还是重新连接, 当建立一个从服务器时, 从服务器都将向主服务器发送一个 SYNC 命令。 
  • 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; 
  • 主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令; 
  • 从服务器收到快照文件后丢弃所有旧数据,载入收到的快照; 
  • 主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令; 
  • 从服务器完成对快照的载入,开始接收命令请求,并执行来自主服务器缓冲区的写命令;
  • 主从配置

    配置主

  • 查看当前主机的ip地址

ifconfig

 

  • 修改etc/redis/redis.conf文件

sudo vim redis.conf
bind 192.168.26.128

  • 重启redis服务

sudo service redis stop
redis-server redis.conf

  • 配置从

    • 复制etc/redis/redis.conf文件

      sudo cp redis.conf ./slave.conf

    • 修改redis/slave.conf文件

      sudo vi slave.conf

    • 编辑内容

      bind 192.168.26.128
      slaveof 192.168.26.128 6379
      port 6378

    • redis服务

      sudo redis-server slave.conf

    • 查看主从关系

      redis-cli -h 192.168.26.128 info Replication

数据操作

  • 在master和slave分别执⾏info命令,查看输出信息 进入主客户端

    redis-cli -h 192.168.26.128 -p 6379

  • 进入从的客户端

    redis-cli -h 192.168.26.128 -p 6378

  • 在master上写数据

    set aa aa

     

  • 在slave上读数据

    get aa

以上是关于Linux下一台服务器Redis主从复制(master-slave)配置的主要内容,如果未能解决你的问题,请参考以下文章

Redis 主从复制

Redis之主从复制

Redis 详解 主从复制

Redis——学习之路四(初识主从配置)

redis的主从复制

redis主从复制及哨兵机制