Redis笔记十一之主从复制

设置主从:

        其实Redis配置主从只需要修改这个slaveof参数。

        在redis.conf中更改slaveof参数在其后面指定主节点的ip和端口号告诉它谁是主节点。redis启动后主从节点之间会进行通信两者可以相互感知。

        修改后主从节点分别执行info命令查看

             主:角色是master,它的从节点是192.168.79.131端口6379

# Replication

role:master

connected_slaves:1

slave0:ip=192.168.79.131,port=6379,state=online,offset=299,lag=1

 

             从:角色是从,master的ip是192.168.79.128,端口6379

# Replication

role:slave

master_host:192.168.79.128

master_port:6379


Redis主从介绍:

       1:Redis支持一主多从架构,主节点负责把数据同步到从节点,主节点支持读写操作而从节点只支持读不支持写操作。

       2:从节点不支持写操作但是通过修改redis.conf中的readonly参数也可以让从节点执行写操作。但是这样做没有实际意义因为只有主节点可以同步数据而从节点不能。

       3:动态设置

             在redis-cli中执行slaveof  no one将一个从节点变为主节点。但是改变后这个节点就等于从原来的主从架构中独立出来了成为一个独立的数据库。(反之行不行)

       4:主从节点数据复制过程

           Redis启动时

               A. 当redis启动后,从节点会向主节点发送一个sync命令。

               B. 主节点收到sync命令后会将当前库中数据保存为快照,在生成快照期间如果客户端有数据命令发送过来则将它们缓存起来。

               C. 快照生成之后主节点会将快照文件和缓存的命令一起发给从节点。

               D. 从节点收到后会加载快照文件执行缓存命令,这样就保证了主从节点之间数据的一致性。

           Redis启动后

               A. 主节点每收到一个客户端命令,自己执行并且会将此命令发给从节点执行。

           注意:

               这里的快照和RDB快照没有关系。

               之前说的从节点不支持写操作指的是客户端的写操作,从节点执行的是主节点发送过来的写操作。

 

       5:注意事项

             如果要建立主从要确保主节点激活了持久化,服务器宕机后不会自动重启。因为一旦服务器宕机重启,redis会使用RDB或AOF来恢复数据而之前又没有激活持久化,那么redis就会基于空的RDB或AOF文件来恢复数据,这样主节点就必然为空,从节点上的数据也就…你懂的。

             如果主节点配置了登录密码,则从节点的redis.conf中就需要使用masterauth来配置主数据库密码,这样从节点在连接主节点时会自动使用auth命令做认证。


Redis优缺点:

        优点:

                解决单点故障;解决负载均衡。

        缺点:

                当主节挂了后就不能用了,虽然数据并没有丢。主从不能自动切换,如果要实现自动切换得借助别的监控工具。

你可能感兴趣的:(Redis,redis,主从)