05 Redis主从实践

徐亮伟, 江湖人称标杆徐。多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。擅长Web集群架构与自动化运维,曾负责国内某大型电商运维工作。
个人博客"徐亮伟架构师之路"累计受益数万人。
笔者Q:552408925、572891887
架构师群:471443208

Redis主从复制概述

redis的主从就是多台redis的数据保持一致。
redis主服务器可写入和读取,从服务器只读。
redis第一次同步的时候,redis主服务器会生成一个rdb文件同步到redis从服务上, 从服务会加载到内存中。

Redis主从复制环境

# 一台服务器启动两个redis实例
mkdir -pv /data/redis/6379 /data/redis/6380
cp /usr/local/redis/conf/redis.conf /data/redis/6379/
cp /usr/local/redis/conf/redis.conf /data/redis/6380/

更新配置
port 6379 
pidfile /data/redis/6379/redis.pid 
logfile "/data/redis/6379/redis.log"
dir /data/redis/6379/

/usr/local/redis/bin/redis-server /data/redis/6379/redis.conf #启动6379的redis
/usr/local/redis/bin/redis-server /data/redis/6380/redis.conf #启动6380的redis

Redis主从复制实战

2: redis主从的配置,6379为主库,6380为从库
redis-cli -p 6380
SLAVEOF xxx.xxx.xxx.xxx 6379
config rewrite

3: 查看主从同步信息
info Replication

4: 设置主从后,从库只有读权限
redis-cli -p 6380
set name bgx

5: 往主写入数据,主从数据会保持同步
set name bgx

6: 主从同步的停止
SLAVEOF no one #在从库上运行

7: 观察第一次同步的情况,查看日志
SLAVEOF xxx.xxx.xxx.xxx 6379

8: 加密的主从同步
config set requirepass 'bgx' #主服务器设置密码,从服务器过段时间就显示为down的状态了
config set masterauth 'bgx' #从服务器需要设置主从同步的认证密码
#requirepass和masterauth主从的配置保持一致,预防主从切换后环境不一致。

9: redis一主多从的配置
     -> 从
主  -> 从
     -> 从

10: redis 主->从->从(去从库那同步数据)