Redis主从配置怎么弄,简单讲讲主从机器的搭建和注意点
- 问答
- 2025-12-24 10:49:09
- 3
Redis主从配置,说白了就是让一台Redis服务器(从机)去复制另一台Redis服务器(主机)的数据,主机主要负责处理写操作(比如新增、修改、删除数据),从机则主要处理读操作(比如查询数据),这样做的好处主要有两个:一是数据有了备份,万一主机坏了,从机上有完整的数据副本,不至于数据全部丢失;二是可以把读请求分散到多台从机上,减轻主机的压力,提升整个系统的处理能力。
主从机器的搭建步骤
搭建过程其实非常简单,主要配置都在从机这一边,假设你已经有两台安装了Redis的服务器,IP地址分别是192.168.1.100(我们计划用它作主机)和192.168.1.200(我们计划用它作从机)。
主机的配置
主机基本上不需要做太多改动,保持默认配置启动即可,你只需要确保主机的redis.conf配置文件中,bind选项配置了能让从机访问到的IP地址,比如bind 0.0.0.0或者bind 192.168.1.100,并且防火墙开放了6379端口,如果设置了密码,需要记下密码,因为从机连接时需要。
从机的配置 从机的配置是核心,有三种常见方式,任选其一即可。
-
直接修改从机的配置文件(永久生效) 找到从机上的
redis.conf文件,修改其中两个关键配置:
- 找到
replicaof <masterip> <masterport>这一行(在老版本中可能是slaveof),去掉注释,并填上主机的IP和端口。replicaof 192.168.1.100 6379 - 如果主机设置了密码,找到
masterauth <master-password>这一行,去掉注释,填上主机的密码。masterauth your_redis_password修改保存后,重启从机的Redis服务,配置就生效了。
- 找到
-
通过Redis命令行配置(临时生效,重启失效) 先启动从机的Redis服务(保持配置文件是原始的),然后通过redis-cli连接到从机的Redis,直接输入命令:
replicaof 192.168.1.100 6379如果主机有密码,再输入:config set masterauth your_redis_password这种方式配置后,立即生效,但Redis服务重启就会丢失,适合临时测试。 -
启动服务时指定(临时生效) 在启动从机Redis服务时,通过命令行参数直接指定。

redis-server --replicaof 192.168.1.100 6379
验证配置是否成功 配置完成后,如何知道主从同步是否正常呢?有两种简单的检查方法。
- 在从机上连接Redis,执行
info replication命令。 你会看到类似下面的信息:role:slave(说明当前角色是从机)master_host:192.168.1.100(正确显示了主机的IP)master_link_status:up(这个非常重要,显示为up表示主从连接正常) 如果master_link_status是down,说明连接有问题,需要检查网络或密码。 - 在主机上连接Redis,同样执行
info replication命令。 你会看到下面有connected_slaves的数量显示为1,并且下面会列出从机的IP地址和端口,这表明主机已经识别到了这个从机。
需要注意的关键点
光搭起来还不够,要想稳定运行,有几个点必须留意。

-
网络连通性是基础:主从机器之间必须网络通畅,防火墙要放行Redis的端口(默认6379),这是最常见的问题,如果从机一直连不上主机,首先就要用
ping命令检查网络。 -
主从数据一致性是目标,但要理解其原理:当从机第一次连接上主机时,主机会执行一个叫“全量同步”的操作,就是把当前内存中所有数据生成一个快照(RDB文件),发送给从机,从机清空自己的数据后,加载这个文件,这个过程如果数据量很大,会对网络和主机磁盘I/O造成压力,可能会短暂影响主机性能,之后,主机会把新的写命令持续地同步给从机(增量同步),这样就基本保持实时一致了。
-
读写分离是默认行为,但要小心:配置为主从模式后,默认情况下,客户端往从机写入数据会报错,因为从机是只读的,这是为了防止数据混乱,所以你的应用程序需要做改造,把写请求都发给主机,读请求可以分发到从机,你也可以通过修改从机的配置文件
redis.conf中的replica-read-only为no来让从机可写,但强烈不推荐这样做,因为在从机上写入的数据很容易被主从同步覆盖掉,导致数据不一致。 -
主从复制是异步的,存在延迟风险:主机会把写命令发送给从机后,不会等待从机执行完才响应客户端,这意味着,在主机写入数据后,立刻到从机去读,可能会读不到刚写入的数据,这在网络繁忙或从机压力大时尤其明显,如果你的业务对数据一致性要求极高(比如金融扣款),不能容忍丝毫延迟,那么读操作可能还是需要直接从主机进行。
-
高可用性需要额外方案:主从架构解决了数据备份和读压力的问题,但没有解决主机宕机后的自动切换问题,如果主机挂了,从机不会自动变为主机,需要人工干预去修改配置,这会导致服务中断,要实现真正的高可用,需要更复杂的方案,比如Redis Sentinel(哨兵)或者Redis Cluster(集群),它们能自动监控主从状态并进行故障转移。
-
安全防护不能少:如果主从机器不在一个安全的内部网络,务必给Redis设置强密码(通过
requirepass配置),并在从机用masterauth配置相同的密码,否则,数据同步通道可能被恶意利用。
Redis主从配置本身不复杂,通过修改从机的replicaof参数就能快速建立,但要想在生产环境中用好,必须深刻理解其背后的数据同步机制、潜在的数据延迟风险,并规划好更高层次的高可用方案。
本文由歧云亭于2025-12-24发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://haoid.cn/wenda/67502.html
