Redis主从复制
Redis主从复制
概念、主节点与从节点
- 主从复制:指将一台Redis服务器的数据复制到其他Redis服务器。
- 主节点 (master) 与 从节点 (slave):主节点和从节点的关系是:一对多、主向从单向复制
- 职责:且一般来说主节点负责写操作,从节点负责读操作
- 方式:主节点将自己的数据变化异步发送给从节点,从节点接收到后更新自己的数据
- 集群:通过设置主节点和多个从节点,可以创建一个Redis集群
使用
主节点不需要修改,默认就是主节点
从节点的修改有两种方式:
- 命令
- 配置文件
命令方式
- 查看当前节点角色:role
- 配置所属主节点:replicaof host port 或者 slaveof host port (旧版)
一般不用这种方式
配置文件方式
$ cd /opt/homebrew/etc # 配置文件一般在redis安装目录下
$ ls -ltr
$ cp redis.conf ~
$ cd
$ cp redis.conf redis-6380.conf
$ code redis-6380.conf
# 改动项。因为是同机器上运行,我们将6379作为主节点,从节点则为6380,区分开
port 6380 # 端口号,默认6379
pidfile /var/run/redis_6370.pid # 进程id,默认/var/run/redis.pid
dbfilename dump-6380.rdb # 备份文件,默认dump.rdb
replicaof 127.0.0.1 6379 # 指定主节点,默认注释掉
$ redis-server redis-6380.conf # 启动从节点服务
$ redis-cli -p 6380 # 连接到从节点
> info replication # 查看信息
# Replication
role:slave # 这里可以看到是从节点
...
检查(可选)
$ redis-cli # 或redis-cli -p 6380
> keys * # 可以发现两边数据是一样的
> set k4 v4 # 在主节点进行修改后,从节点也会有该变化
OK
链接到当前文件 0
没有文件链接到当前文件