主从复制:
主从复制是指在Redis中,一个主节点可以将自己的数据复制到多个从节点上,从节点会定期从主节点同步数据,从而保持数据的一致性。主从复制可以实现数据的备份和容灾,提高系统的可用性和性能。在主从复制中,主节点负责处理客户端的读写请求,而从节点只负责复制主节点的数据,不处理客户端请求。当主节点发生故障时,可以通过从节点快速恢复数据,保证系统的稳定运行。
指的是将一台Redis服务器的数据复制到其他Redis服务器。也叫主节点和从节点。数据的复制的单向的,只能由主节点到从节点。一般来说主节点负责写操作,从节点负责读操作。主节点会将自己数据的变化通过异步的方式发送给从节点。从节点接收到主节点的数据后,更新自己的数据,也就是同步数据。
主节点不需要修改任何配置,因为默认配置就是主节点。所以只需要修改从节点的配置就好。修改的方式有两种,一种是通过命令行执行命令,另一种是通过配置文件来修改。
使用命令行来直接指定主节点的IP和端口,这种方式不常用,了解即可。
接下来演示常用的配置文件方式:
将Redis中的redis.conf复制到根目录作为主节点的配置文件,然后再复制一个6380的文件,作为从节点的配置文件。6380就是从节点使用的端口号。
由上图可知打开6380这个配置文件,修改其中的数据即可(将端口号改成6380,把pidfile这个配置项也改成6380,dbfilename这个配置项后面加上端口号,修改replicaof配置文件)
例如:
这个dump就是持久化文件 。
这个配置项默认是注释的,在下面重写这个配置项的参数。表示我们现在配置的这个节点是6379这个库的从节点。
最后保存并退出。
配置完成后,打开一个新的终端,输入上图命令,启动从节点 。
然后再打开一个客户端:
redis-cli -p 6380
使用info replication来查看信息。
通过查看信息发现这个节点是slave也就是从节点。 对应的主节点端口号是6379.
再打开一个终端连接主节点,通过验证发现数据一致。 主节点中的数据变化会自动同步到从节点上。
当再创建一个从节点时,使用vim编辑器,通过执行上图的命令替换端口号,完成配置文件的修改。
从主节点的信息可以看出,主节点的从节点变成了两个,以6381为端口的从节点也能同步数据。