Redis主从服务器怎么配置搭建,步骤和注意点简单聊聊
- 问答
- 2026-01-13 11:19:41
- 2
要搭建一个Redis的主从服务器,其实就是让一台或多台Redis服务器(从服务器)去复制另一台Redis服务器(主服务器)的数据,这样做的好处主要是为了备份数据,万一主服务器坏了,从服务器可以顶上去;还有就是可以让读操作分散到从服务器上,减轻主服务器的压力,下面我就说说怎么一步步把它搭起来,再聊几个容易踩坑的地方。
第一步:准备环境 你得有两台或者更多的服务器,可以是实体机,也可以是虚拟机,甚至在你自己的电脑上开几个不同的端口来模拟也行,这里为了简单,我们假设有两台机器:机器A(IP地址:192.168.1.100)打算作为主服务器,机器B(IP地址:192.168.1.101)打算作为从服务器,你需要在每台机器上都安装好Redis,安装过程很简单,去Redis官网下载源码编译安装就行(来源:Redis官方文档)。
第二步:配置主服务器(机器A) 主服务器的配置其实非常省事,基本上用默认的配置文件(通常是 redis.conf)就可以了,你只需要确保主服务器能正常启动。
- 找到 redis.conf 文件。
- 你可以不用改任何配置,但为了后续连接方便,建议做两个小改动:
- 找到
bind这一行,默认可能是bind 127.0.0.1,这表示只允许本机连接,你需要把它改成bind 0.0.0.0来允许任何IP连接,或者更安全地改成bind 192.168.1.100只允许内网特定IP连接,如果只是测试,改成0.0.0最省事。 - 如果设置了密码,记得后面在从服务器配置时要填上,设置密码是找到
requirepass这一行,去掉注释,后面写上你的密码,requirepass mymasterpassword。
- 找到
- 保存配置文件,然后启动Redis服务:
redis-server /path/to/redis.conf。
你的主服务器就在默认的6379端口跑起来了。
第三步:配置从服务器(机器B) 从服务器的配置是关键,你需要修改它的配置文件,告诉它谁是它的“主人”。
- 找到机器B上的 redis.conf 文件。
- 找到
replicaof这个配置项(在旧版本的Redis中,这个配置项可能叫slaveof,意思一样),这一行默认是注释掉的。 - 你需要在配置文件中添加(或取消注释并修改)这样一行:
replicaof 192.168.1.100 6379,这就明确指出了主服务器的IP和端口。 - 如果主服务器设置了密码,你还必须找到
masterauth这个配置项,把它设置成和主服务器的密码一致:masterauth mymasterpassword,如果主服务器没密码,这步可以忽略,但为了安全,强烈建议主服务器设密码。 - 保存配置文件,然后启动从服务器的Redis服务:
redis-server /path/to/redis.conf。
第四步:验证主从复制 两台服务器都启动后,怎么知道它们已经成功连接并且开始复制数据了呢?
- 连接到主服务器:
redis-cli -h 192.168.1.100。 - 输入
info replication命令,在输出信息里,你应该能看到role:master,并且下面有一个connected_slaves的数量,应该是大于0的,还会显示从服务器的IP和端口。 - 再连接到从服务器:
redis-cli -h 192.168.1.101。 - 同样输入
info replication命令,这时你应该看到role:slave,master_link_status的状态是up,这表示主从连接是正常的。 - 最后做个数据同步测试:在主服务器上设置一个键值对,
set mykey "hello",然后立刻到从服务器上获取这个键get mykey,如果从服务器能立刻返回 "hello",恭喜你,主从复制已经成功工作了!
需要注意的几个点(容易踩坑的地方)
- 防火墙和网络:这是最常见的问题,主从服务器之间必须能互相通信,特别是从服务器要能访问到主服务器的Redis端口(默认6379),一定要检查两台机器的防火墙设置,确保端口是开放的,不然从服务器会一直连不上主服务器,状态永远是
down。 - 密码一致性:如果主服务器配置了密码,从服务器的
masterauth配置项必须和主服务器的requirepass完全一致,包括大小写,配错了密码,从服务器是无法完成身份验证的,复制也会失败。 - 数据持久化:通常建议在主服务器上开启持久化(比如RDB或AOF),这样即使主服务器宕机重启,也能从本地恢复大部分数据,然后再同步给从服务器,如果主服务器不持久化,万一宕机重启,它会变成一个空数据集,如果这时从服务器去连接它,从服务器上的数据也会被清空!这就非常危险了。(来源:Redis持久化文档中的相关警告)
- 从服务器的可写性:默认情况下,从服务器是只读的,你往从服务器上写数据会报错,这是为了防止数据不一致,这个配置是由
replica-read-only选项控制的,默认是yes,除非你有特殊需求,并且很清楚后果,否则不要把它改成no。 - 版本问题:尽量保证主从服务器的Redis大版本一致,虽然不同小版本之间一般可以兼容,但用完全相同的大版本能避免一些不可预见的兼容性问题。
- 读写分离的客户端实现:搭建好主从后,你的应用程序需要知道把写请求(如SET)发给主服务器,把读请求(如GET)发给从服务器,这个逻辑不是在Redis服务器端实现的,而是需要你的应用程序(或者你使用的Redis客户端库)来支持和管理,你需要配置两个连接,一个指向主,一个或多个指向从,然后在代码里根据操作类型选择连接。
Redis主从搭建过程本身不复杂,核心就是修改从服务器的配置文件,难点和重点在于理解其中的原理和注意那些细节配置,尤其是网络、密码和持久化这三点,只要把这些地方搞对了,成功搭建就是水到渠成的事情。

本文由寇乐童于2026-01-13发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://haoid.cn/wenda/79898.html
