使用主从做什么
避免 redis 单点故障
实现读写分离
主从拓扑图
如何配置
- 安装单节点 redis
- 创建文件夹 6379、6380、6381,复制 redis.conf 文件到三个文件夹中
- 修改每个文件夹下的 redis.conf 文件
- daemonize yes # 后台运行
- bind 192.168.100.50 # 根据节点 ip 设置,不要设置 127.0.0.1
- port 6379 # 根据节点设置端口 [6379 | 6380 | 6381]
- pidfile /data/redis/data/redis_6379.pid # 修改 pidfile
- slaveof 192.168.100.50 6379 # 设置主从(6379节点作为当前节点的主节点)
- 或者进入客户端,通过 client:6380 > slaveof 192.168.100.50 6379 来设置从节点 (重启后不会主动链接 master)
查看主从关系
info replication # 查看主从关系
只从复制原理
- 当从库和主库建立MS关系后,会向主数据库发送SYNC命令
- 主库接收到SYNC命令后会开始在后台保存快照(RDB持久化过程),并将期间接收到的写命令缓存起来
- 当快照完成后,主Redis会将快照文件和所有缓存的写命令发送给从Redis
- 从Redis接收到后,会载入快照文件并且执行收到的缓存的命令
- 之后,主Redis每当接收到写命令时就会将命令发送从Redis,从而保证数据的一致
其他
默认情况下,从库只读
slave-read-only no # 修改该配置,可设置从库可写操作
如果主服务器设置了密码,可通过下面属性配置
masterauth <master-password>
主从从
可以降低主节点压力
A -> B -> C