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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM