Redis主从复制
是什么
主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主。
-
读写分离,性能扩展
-
容灾快速恢复
创建过程
-
创建/myredis文件夹
-
复制redis.conf配置文件到文件夹中
-
配置一主两从,创建三个配置文件
redis6379.conf
redis6380.conf
redis6381.conf
-
在三个配置文件写入内容
include /myredis/redis.conf pidfile /var/run/redis_6379.conf port 6379 dbfilename dump6379.rdb
-
启动三个redis服务
查看当前主机运行状况 info replication
在从机上执行 slaveof 主机ip 端口号 ,可以指定主机
以上步骤就创建了一主两从,主服务器用来写数据,从服务器用来读数据
主从复制的原理
-
当从服务器连接上主服务器之后,从服务器向主服务器发送数据同步消息。
-
主服务器接到从服务器发送过来的同步消息,把主服务器数据进行持久化为rdb文件,把rdb文件发送到从服务器中,从服务器拿到rdb文件进行读取。
-
每次主服务器进行写操作之后,就和从服务器进行数据同步。
一主二从
-
当从服务器down之后,重新启动会变为主服务器。可以选择重新添加为从服务器,在这期间主服务器添加的数据,从服务器会全部添加进来。
-
当主服务器down之后,从服务器还是存在,只是
info replication
显示主服务器已经down,主服务器重新启动后,这两台服务器仍然是主服务器的从服务器。
哨兵模式(sentinel)
是什么
反客为主的自动版,能够后台监控主机是否故障。如果故障了根据投票数自动将从库转换为主库。
使用步骤
-
设置哨兵,填写内容
sentinel monitor mymaster 127.0.0.1 6379 1
其中,mymaster 为监控对象起的服务器名称,1为至少有多少个哨兵同意迁移的数量
-
执行
redis-sentinel /myredis/sentinel.conf
-
当主机down掉,会在从机中选择新的主机,该如何选择呢?
-
选择优先级靠前的
slave-priority 100
新版本的为replica-priority 100
数字小的优先级高 -
选择偏移量最大的 偏移量指获得主机数据最全的
-
选择runnid最小的从服务器 runid 每个redis实例启动后都会随机生成一个40位的runid
-
缺点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~