三十、Redis-主从同步及哨兵模式

1、Redis 主从同步

Redis主从复制,当用户往Master端写入数据时,通过Redis Sync机制将数据文件发送至Slave,Slave 也会执行相同的操作确保数据一致。同时slave上还可以开启二级slave、三级slave从库,和MySQL的主从类似。 Redis主从配置非常简单,只需要在Redis从库配置中指定slaveof ip port 即可,IP表示指定主库的ip,port表示redis监听端口。

准备机器两台

master:10.0.0.147
slave:10.0.0.149

1.1 配置主从同步

1.1.1 主库配置

# 修改配置文件
bind 0.0.0.0
#以守护进程在后台运行
daemonize yes 
#可选设置认证密码,从库需要指定master的密码才能完成同步
requirepass "123456" 

1.1.2 从库配置

# 修改配置文件设置
bind 0.0.0.0 
# 指定主库 
slaveof 10.0.0.147 6379 
或者 
REPLICAOF 10.0.0.147 6379 
#指定master的认证密码(如果远程服务器设置了密码,则需要认证密码) 
masterauth "123456"

也可在命令行设置,设置完直接生效但重启服务则失效

# 指定主库
slaveof 10.0.0.147 6379 
或者 
REPLICAOF 10.0.0.147 6379 
# 设置master的认证密码 
CONFIG set masterauth 123456 
# 取消主从关系,恢复master身份
SLAVEOF no one

1.1.3 从库查看状态

127.0.0.1:6379> info replication
# Replication
#角色
role:slave
master_host:10.0.0.147
master_port:6379
#主库连接状态必须为up,表示成功
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:1960
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:1eba7a05ef5159b5b2ba02a58571810be5b32230
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1960
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1079
repl_backlog_histlen:882

1.1.4 主库查看状态

10.0.0.147:6379> info replication
# Replication
#角色
role:master
#当前有一个从库连接
connected_slaves:1
#从库信息
slave0:ip=10.0.0.149,port=6379,state=online,offset=2086,lag=0
master_replid:1eba7a05ef5159b5b2ba02a58571810be5b32230
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:2086
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:2086

1.1.5 从库同步过程日志分析

#连接主库
6190:S 08 Jan 2020 14:44:25.483 * Connecting to MASTER 10.0.0.147:6379
6190:S 08 Jan 2020 14:44:25.483 * MASTER <-> REPLICA sync started
#开始非阻塞同步
6190:S 08 Jan 2020 14:44:25.483 * Non blocking connect for SYNC fired the event.
6190:S 08 Jan 2020 14:44:25.484 * Master replied to PING, replication can continue...
6190:S 08 Jan 2020 14:44:25.485 * Partial resynchronization not possible (no cached master)
#全量同步
6190:S 08 Jan 2020 14:44:25.486 * Full resync from master: 1eba7a05ef5159b5b2ba02a58571810be5b32230:1078
#接收数据
6190:S 08 Jan 2020 14:44:25.526 * MASTER <-> REPLICA sync: receiving 5687 bytes from master
#清空以前缓存的数据
6190:S 08 Jan 2020 14:44:25.526 * MASTER <-> REPLICA sync: Flushing old data
#加载数据库到内存中
6190:S 08 Jan 2020 14:44:25.526 * MASTER <-> REPLICA sync: Loading DB in memory
#同步完成
6190:S 08 Jan 2020 14:44:25.527 * MASTER <-> REPLICA sync: Finished with success

1.1.6 主从同步相关配置解析

# 指定主库IP和端口 
replicaof  10.0.0.147  6379 
# 指定主库的认证密码 
masterauth 1234
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值