redis复制replica
通过查看log信息即可观察主机是否与从机正确连接,一般来说主机上有succeeded就是可以了
可以通过info replication查看自己的身份
role:master connected_slaves:2 slave0:ip=192.168.88.102,port=6380,state=online,offset=630,lag=1 slave1:ip=192.168.88.103,port=6381,state=online,offset=630,lag=1 # Replication role:slave master_host:node1 master_port:6379
配置文件配置主从关系:在conf文件中修改大概533行 replicaof <masterip> <masterport>
手动配置主从关系:slaveof 主库IP 主库端口 但是重启以后就又变回主机了
slaveof on one 脱离主库,自己成为master,会保存数据
关于主从复制:
从机只可以读取,不可以写操作
从机即使突然shutdown了,再次启用之后还是可以读取在他不在的期间的数据
主机突然shutdown了,从机不会上位成为主机,但是仍然可以正常使用数据
主机恢复之后关系还在,数据也正常读取
slave可以作为其他slave的master接收连接和同步请求,这样的好处是可以减轻主master的压力。但是只要是slave就不可以进行写操作
复制的工作流程
1.slave第一次连上master会发送一个sync命令,一次完全同步会被自动执行,此时slave原有数据会被master覆盖
2.master收到sync命令之后进行rdb持久化,持久化完成之后master会将rdb文件与所有缓存命令收集起来发给slave,slave会将其存盘并加载在内存
3.主库会默认每十秒发送ping保持通信
4.master会将新的所收集的指令集自动发给slave,完成同步
5.master会检查backlog里的offset,主从都会保存一个offset还有一个masterId。master只会把已复制的offset后面的数据复制给slave,类似断点续传
主从复制的缺点:
写操作都是在master上,同步更新在slave上会有发生延迟,越繁忙复杂延迟越严重
主机挂了就写不进去东西了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?