与mysql一样,复述,也支持主从复制,读写分离,且配置比mysql要简单很多。下面我们来一起看看复述的主从复制。
127.0.0.1:6379>键* 1)“age" 2)“name" 127.0.0.1:6380>键* (空列表或组)
6379这个复述,目前有两个键,而6380目前是空的。建立6379余6380之间的主从关系,让6379作为主节点,6380作为从节点。
建立复制有两个方式:
- <李>
修改6380的配置文件,在该配置文件中加上6379年slaveof 127.0.0.1,然后重启复述,服务
李> <李>动态修改,直接输入slaveof 127.0.0.1 6379
李>127.0.0.1:6380>slaveof 127.0.0.1 6379 好吧 127.0.0.1:6380>键* 1)“name" 2)“age"
可以看的到,复制已经建立了,现6380年在数据和6379是一致的了。
分别对6379年及6380年执行信息复制命令,可以看到相关信息。
127.0.0.1:6379>信息的复制 #复制 角色:主 connected_slaves: 1 …… 127.0.0.1:6380>信息的复制 #复制 角色:奴隶 master_host: 127.0.0.1 master_port: 6379 以前……><强> 强>
断开复制操作非常简单,只需执行slaveof没有> 127.0.0.1:6380>slaveof没有人 好
另外还可以直接切换主节点。比如,现在6380年是6370年的从节点,现在6380年想断开6379的主从关系,与6381年建立新的复制关系。那么6380只需执行slaveof 127.0.0.1 6381即可。
但切主的时候需要注意一点,从节点之前的数据将会被清空,然后再去复制新主节点的数据,所以,如果之前的数据有用且没有备份下,且不可进行切主操作。
<强> 强>
若主节配置了requirepass,那么从节点就需要设置masterauth
<强> 强>
默认情况下从节点执行进行读操作,不能进行写操作,因为这么做是非常必要的,如果从节点进行了写操作,那么就会造成主从节点的数据不一致的情况。如果想从节点也可以写的话,修改配置项slave-read-only=no即可。
<强> 强>
复述的复制常见的应用场景有
- <李>
数据的实时备份,一般此种情况,只有一个从节点,从节点开启aof持久哈,节点的主要任务就是实时备份数据。
李> <李>故障转移,如果主节点发生了故障的话,那么可以使用从节点来继续运行系统
李> <李>读写分离,比较适合于读比较多的场景,主节点进行写操作,多个从节点进行读操作。因为复制是异步进行的,所以从节点数据可能会有延迟,这点也是开发时候需要注意的。
李>以上就是复述,主从复制的详细内容,更多请关注其它相关文章!