redis主从复制

  • 主从复制 Replication
    一个Redis服务可以有多个该服务的复制品,这个Redis服务称为Master,其他复制品称为Slaves
    只要网络连接正常,Master会一直将自己的数据更新同步给Slaves,保持主从同步
    只有Master可以执行写命令,Slaves只能执行读命令

redis主从复制

redis主从复制

  • 主从复制 Replication
    从服务器执行客户端发送的读命令,比如GET、LRANGE、SMEMMBERS、HGET、ZRANGE等等
    客户端可以连接Slaves执行读请求,来降低Master的读压力

redis主从复制

redis主从复制

  • 主从复制创建
    redis-server --slaveof ,配置当前服务称为某Redis服务的Slave
    redis-server --port 6380 --slaveof 127.0.0.1 6379
    SLAVEOF host port命令,将当前服务器状态从Master修改为别的服务器的Slave
    redis > SLAVEOF 192.168.1.1 6379,将服务器转换为Slave
    redis > SLAVEOF NO ONE ,将服务器重新恢复到Master,不会丢弃已同步数据
    配置方式:启动时,服务器读取配置文件,并自动成为指定服务器的从服务器
    slaveof
    slaveof 127.0.0.1 6379
  • 主从复制演示
    redis-server --slaveof
    redis-server --port 6380 --slaveof 127.0.0.1 6379
    redis-cli -p 6380 -n 0
    测试Master和Slave的读写
  • 主从复制演示
    SLAVEOF 命令
    从服务器连接到192.168.56.201的6379端口
    redis > SLAVEOF 192.168.56.201 6379
    redis > SLAVEOF NO ONE ,将服务器重新恢复到Master,不会丢弃已同步数据
    redis > SET n2key 5
    redis > get n2key
    redis > keys *
    redis > SLAVEOF 192.168.56.201 6379
    redis > keys *
  • 主从复制演示
    配置方式
    在node2节点安装配置redis服务,修改配置文件
    slaveof 192.168.56.201 6379
    启动服务,观察和node1的同步
    redis > SLAVEOF NO ONE,观察是否可写set、keys *
  • 主从复制问题
    一个Master可以有多个Slaves
    Slave下线,只是读请求的处理性能下降
    Master下线,写请求无法执行
    其中一台Slave使用SLAVEOF no one命令成为Master,其它Slaves执行SLAVEOF命令指向这个新的Master,从它这里同步数据
    以上过程是手动的,能够实现自动,这就需要Sentinel哨兵,实现故障转移Failover操作

redis主从复制

上一篇:云栖社区 latex 公式使用说明


下一篇:CreateWindow() -- 创建普通的窗口