Redis复制
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主主復制是指任一時刻只有一個方向的復制,并不是完全意義的主主復制,完全意義的主主復制是同時兩個方向。
總結
- 上一篇: ASP操作Excel技术总结
- 下一篇: linux cmake编译源码,linu