千家信息网

Redis主从复制如何实现

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"Redis主从复制如何实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Redis主从复制如何实现"吧!主从复制主从复制可以在一定
千家信息网最后更新 2026年10月31日Redis主从复制如何实现

这篇文章主要讲解了"Redis主从复制如何实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Redis主从复制如何实现"吧!

主从复制

主从复制可以在一定程度上扩展redis性能,redis的主从复制和关系型数据库的主从复制类似,从机能够精确的复制主机上的内容。实现了主从复制之后,一方面能够实现数据的读写分离,降低master的压力,另一方面也能实现数据的备份。

配置方式

假设我有三个redis实例,地址分别如下:

192.168.248.128:6379  192.168.248.128:6380  192.168.248.128:6381

即同一台服务器上三个实例,配置方式如下:

1.将redis.conf文件更名为redis6379.conf,方便我们区分,然后把redis6379.conf再复制两份,分别为redis6380.conf和redis6381.conf。如下:

2.打开redis6379.conf,将如下配置均加上6379,(默认是6379的不用修改),如下:

port 6379pidfile /var/run/redis_6379.pidlogfile "6379.log"dbfilename dump6379.rdbappendfilename "appendonly6379.aof"

3.同理,分别打开redis6380.conf和redis6381.conf两个配置文件,将第二步涉及到6379的分别改为6380和6381。
4.输入如下命令,启动三个redis实例:

[root@localhost redis-4.0.8]# redis-server redis6379.conf[root@localhost redis-4.0.8]# redis-server redis6380.conf[root@localhost redis-4.0.8]# redis-server redis6381.conf

5.输入如下命令,分别进入三个实例的控制台:

[root@localhost redis-4.0.8]# redis-cli -p 6379[root@localhost redis-4.0.8]# redis-cli -p 6380[root@localhost redis-4.0.8]# redis-cli -p 6381

此时我就成功配置了三个redis实例了。

6.假设在这三个实例中,6379是主机,即master,6380和6381是从机,即slave,那么如何配置这种实例关系呢,很简单,分别在6380和6381上执行如下命令:

127.0.0.1:6381> SLAVEOF 127.0.0.1 6379OK

这一步也可以通过在两个从机的redis.conf中添加如下配置来解决:

slaveof 127.0.0.1 6379

OK,主从关系搭建好后,我们可以通过如下命令可以查看每个实例当前的状态,如下:

127.0.0.1:6379> INFO replication# Replicationrole:masterconnected_slaves:2slave0:ip=127.0.0.1,port=6380,state=online,offset=56,lag=1slave1:ip=127.0.0.1,port=6381,state=online,offset=56,lag=0master_replid:26ca818360d6510b717e471f3f0a6f5985b6225dmaster_replid2:0000000000000000000000000000000000000000master_repl_offset:56second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:56

我们可以看到6379是一个主机,上面挂了两个从机,两个从机的地址、端口等信息都展现出来了。如果我们在6380上执行INFO replication,显示信息如下:

127.0.0.1:6380> INFO replication# Replicationrole:slavemaster_host:127.0.0.1master_port:6379master_link_status:upmaster_last_io_seconds_ago:6master_sync_in_progress:0slave_repl_offset:630slave_priority:100slave_read_only:1connected_slaves:0master_replid:26ca818360d6510b717e471f3f0a6f5985b6225dmaster_replid2:0000000000000000000000000000000000000000master_repl_offset:630second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:630

我们可以看到6380是一个从机,从机的信息以及它的主机的信息都展示出来了。

7.此时,我们在主机中存储一条数据,在从机中就可以get到这条数据了。

主从复制注意点

1.如果主机已经运行了一段时间了,并且了已经存储了一些数据了,此时从机连上来,那么从机会将主机上所有的数据进行备份,而不是从连接的那个时间点开始备份。
2.配置了主从复制之后,主机上可读可写,但是从机只能读取不能写入(可以通过修改redis.conf中 slave-read-only 的值让从机也可以执行写操作)。
3.在整个主从结构运行过程中,如果主机不幸挂掉,重启之后,他依然是主机,主从复制操作也能够继续进行。

复制原理

每一个master都有一个replication ID,这是一个较大的伪随机字符串,标记了一个给定的数据集。每个master也持有一个偏移量,master将自己产生的复制流发送给slave时,发送多少个字节的数据,自身的偏移量就会增加多少,目的是当有新的操作修改自己的数据集时,它可以以此更新slave的状态。复制偏移量即使在没有一个slave连接到master时,也会自增,所以基本上每一对给定的Replication ID, offset都会标识一个master数据集的确切版本。当slave连接到master时,它们使用PSYNC命令来发送它们记录的旧的master replication ID和它们至今为止处理的偏移量。通过这种方式,master能够仅发送slave所需的增量部分。但是如果master的缓冲区中没有足够的命令积压缓冲记录,或者如果slave引用了不再知道的历史记录(replication ID),则会转而进行一个全量重同步:在这种情况下,slave会得到一个完整的数据集副本,从头开始(参考redis官网)。

简单来说,就是以下几个步骤:

    1.slave启动成功连接到master后会发送一个sync命令。      2.Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令。      3.在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步。      4.全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。      5.增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步。      6.但是只要是重新连接master,一次完全同步(全量复制)将被自动执行。

感谢各位的阅读,以上就是"Redis主从复制如何实现"的内容了,经过本文的学习后,相信大家对Redis主从复制如何实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

数据 主从 主机 命令 实例 配置 三个 两个 信息 文件 偏移 同步 内容 可以通过 备份 方式 学习 成功 后台 地址 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡网 科技类互联网 奇酷互联网科技公司 鑫亿盛互联网科技 朗涯互联网科技 互联网科技网站 联恩商钥互联网科技有限公司 互联网科技公司的市场部门 广州慧亚互联网科技怎么样 字节跳动和互联网科技 晓花互联网科技有限公司网址 深圳育鹏互联网科技有限公司招聘 国大互联网教育科技有限公司工作 每天都有哪些好的互联网科技 上海创道互联网络科技有限公司 世界互联网科技成果奖 互联网金融运营模式中的金融科技 米泉互联网科技专业怎么样 宁波允成互联网科技有限公司 科技互联网企业在行动 互联网科技有限公司 齐家互联网科技 电子科技大学互联网 上海致骋互联网科技 北京禾田雨橡互联网科技 长亮科技 互联网金融 宜昌元轩互联网科技有限公司 互联网公司黑科技创始人 从那以后互联网科技有限公司 珠海东科互联网科技有限公司
0