Redis复制

一、如今有两个redis,172.16.2.16为master,10.65.200.202为salve
二、在slave端修改配置项 salveof,以下:
    slaveof 172.16.2.16 6379
三、在这种状况下,master端的修改,会同步到slave端。
四、可是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只能读操做。
五、固然,也能够配置写操做,以下:
    slave-read-only no
    可是,slave端的修改,不会同步到master端。
六、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)
七、也就是说,redis要实现主主复制,须要应用层管理。
    A仅仅做为master,B设置为A的salve。
    在某个条件下,B再也不做为A的slave,仅仅设置为master,同时A设置为B的slave。
    注意:这里redis主主复制是指任一时刻只有一个方向的复制,并非彻底意义的主主复制,彻底意义的主主复制是同时两个方向。
相关文章
相关标签/搜索