数据库
首页 > 数据库> > Redis复制

Redis复制

作者:互联网

原文链接:http://www.cnblogs.com/nzbbody/p/6389617.html
1、现在有两个redis,172.16.2.16为master,10.65.200.202为salve
2、在slave端修改配置项 salveof,如下:
    slaveof 172.16.2.16 6379
3、在这种情况下,master端的修改,会同步到slave端。
4、但是slave端不能执行写操作,如下:
    127.0.0.1:6379> get name
    "andy"
    127.0.0.1:6379> set name bill
    (error) READONLY You can't write against a read only slave.
    原因是:如果slave可以写操作,就会导致主从数据不一致。因此,默认配置slave只能读操作。
5、当然,也可以配置写操作,如下:
    slave-read-only no
    但是,slave端的修改,不会同步到master端。
6、mysql是支持主主复制的,也就是两个设备互为主从。如果把两个redis设置为互为主从,行不行?
    目前的redis版本不支持互为主从。如果两个redis配置成互为主从,redis服务报错,如下:
    Master does not support PSYNC or is in error state (reply: -ERR Can't SYNC while not connected with my master)
7、也就是说,redis要实现主主复制,需要应用层管理。
    A仅仅作为master,B设置为A的salve。
    在某个条件下,B不再作为A的slave,仅仅设置为master,同时A设置为B的slave。
    注意:这里redis主主复制是指任一时刻只有一个方向的复制,并不是完全意义的主主复制,完全意义的主主复制是同时两个方向。

转载于:https://www.cnblogs.com/nzbbody/p/6389617.html

标签:slave,主主,Redis,redis,6379,复制,master
来源: https://blog.csdn.net/weixin_30826761/article/details/99234937