Redis 复制9

2022-07-09 23:49:35 浏览数 (1)

停止同步后又可以写入了

代码语言:javascript复制
127.0.0.1:6379> config get slaveof
1) "slaveof"
2) ""
127.0.0.1:6379> set abc iii
OK
127.0.0.1:6379> get abc 
"iii"
127.0.0.1:6379>  

但是这个特性可以被在线修改

在线关闭Slave只读

代码语言:javascript复制
127.0.0.1:6379> SLAVEOF m1 6379
OK
127.0.0.1:6379> set iii abc 
(error) READONLY You can't write against a read only slave.
127.0.0.1:6379> CONFIG GET slave-read-only
1) "slave-read-only"
2) "yes"
127.0.0.1:6379> CONFIG SET slave-read-only no
OK
127.0.0.1:6379> CONFIG GET slave-read-only
1) "slave-read-only"
2) "no"
127.0.0.1:6379> set iii abc 
OK
127.0.0.1:6379> get iii 
"abc"
127.0.0.1:6379> 

既然从服务器上的写数据会被重同步数据覆盖, 也可能在从服务器重启时丢失, 那么为什么要让一个从服务器变得可写呢? 原因是, 一些不重要的临时数据, 仍然是可以保存在从服务器上面的。 比如说, 客户端可以在从服务器上保存主服务器的可达性(reachability)信息, 从而实现故障转移(failover)策略。

0 人点赞