Redis从库配置怎么弄,主从同步其实没那么复杂,手把手教你搞定
- 问答
- 2026-01-13 13:01:23
- 4
基于常见的Redis官方文档和社区实践经验汇总)
Redis的主从同步,说白了就是让一个Redis服务器(从库)去复制另一个Redis服务器(主库)的数据,就像你有一个正本文件(主库),然后你想做个备份副本(从库),并且希望这个副本能自动跟着正本一起更新,这事儿听起来高级,但配置起来其实就几步。
第一步:准备好你的Redis服务器
你得至少有两台已经安装好Redis的服务器,可以是两台物理机,两个虚拟机,或者一台机器上开两个不同的Redis进程(用不同的端口号区分),为了简单起见,我们假设你有两台机器:
- 主库(Master):IP地址是 192.168.1.100,端口是默认的6379。
- 从库(Slave):IP地址是 192.168.1.101,端口也是6379。
确保两台机器之间的网络是通的,防火墙没有挡住6379端口。
第二步:配置主库(其实主库几乎不用动)
Redis主库默认就是主库的角色,所以绝大多数情况下,你不需要对主库做任何特殊的配置,它就像个大爷一样,等着别人来连接它、同步它的数据,你唯一需要确认的是,主库的bind配置项不能太严格,要允许从库的IP地址能够连接上来,你可以检查一下主库的配置文件redis.conf:

找到bind这一行,如果它是bind 127.0.0.1,那就只允许本机连接,从库肯定连不上,你可以把它改成主库自己的真实IP地址,或者直接注释掉这一行(行首加),让它监听所有网络接口(注意:这样会暴露给所有IP,生产环境要考虑安全)。
# bind 127.0.0.1 -::1
改完之后,重启一下主库的Redis服务,让配置生效。
第三步:配置从库(关键步骤在这里)
从库的配置才是重点,你需要修改从库服务器上的redis.conf文件,用文本编辑器打开这个文件,找到以下几个关键配置项:
-
设置主库的地址和端口:找到
replicaof(在旧版本的Redis中,这个配置叫slaveof,意思一样)这一行,默认这一行是被注释掉的,你需要取消注释,并填上主库的IP和端口,按照我们的例子,应该改成:replicaof 192.168.1.100 6379这一行就是在告诉从库:“你的老大是192.168.1.100:6379,快去跟它同步数据。”

-
(可选)设置主库的密码:如果你的主库设置了密码(通过
requirepass配置项),那么你必须告诉从库这个密码,不然从库没法连接主库,在配置文件中找到masterauth这一行,填上主库的密码:masterauth your_master_password把
your_master_password替换成你实际设置的密码。 -
(可选)设置从库只读:默认情况下,从库是只读的(
replica-read-only设置为yes),这意味着所有写操作(比如set, hset等命令)只能在主库上执行,从库会拒绝写操作,这是一个安全且合理的设置,建议保持默认,确保数据一致性。
修改完从库的配置文件后,保存退出,然后重启从库的Redis服务。
第四步:检查同步状态
配置都做完,服务也重启了,怎么知道同步成没成功呢?很简单,用Redis的命令行客户端连上去看看。

-
连接主库:在主库服务器上,运行
redis-cli,然后输入命令info replication,在输出的信息里,你会看到一个connected_slavessection,里面会显示当前连接上来的从库数量和信息,如果配置成功,你应该能看到从库的IP和端口出现在这里。 -
连接从库:在从库服务器上,同样运行
redis-cli,输入info replication,这次看输出的开头部分,你会看到role:slave,表示当前角色是从库,下面还会有master_host和master_port,显示它连接的主库信息,以及master_link_status:up,这表示主从连接是正常的。
如果master_link_status是up,并且你可以在主库写个数据(比如set mykey hello),然后在从库能马上读到(get mykey),那就恭喜你,主从同步已经完全搞定了!
可能会遇到的小麻烦
- 从库连不上主库:最常见的问题,检查网络能不能通(用
ping命令),检查主库的bind配置和防火墙设置。 - 认证失败:如果主库有密码,而从库没配置
masterauth,或者密码配错了,就会报错,检查密码是否正确。 - 端口冲突:如果你在同一台机器上跑两个Redis实例,一定要确保它们使用不同的端口号,并且配置文件和数据目录(
dir配置项)也最好是分开的。
主从同步是怎么工作的?
简单说一下原理(来源:Redis官方文档描述的逻辑),让你心里更有底: 当从库第一次连接上主库时,会触发一次全量同步:主库会生成当前数据的一个快照(一个RDB文件),发给从库,从库清空自己的旧数据,然后把这个快照文件加载进来,这个过程数据量大的时候会慢一点。 全量同步完成后,主库之后执行的每一个写命令,都会悄悄地再发一份给从库,从库执行同样的命令,这样数据就实时保持一致了,即使中间网络断了一下,从库重新连上后,也会尝试请求断线期间错过的那些命令,进行增量同步。
总结下来,配置Redis主从同步的核心就是:主库基本不管,从库配置文件里加一行replicaof指明老大是谁,然后重启服务就行了,多检查一下连接状态,遇到问题优先排查网络和密码,整个过程真的没那么复杂,自己动手试一遍就明白了。
本文由凤伟才于2026-01-13发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/79942.html