共计 1528 个字符,预计需要花费 4 分钟才能阅读完成。
本篇内容主要讲解“redis 主从复制怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“redis 主从复制怎么实现”吧!
一、介绍
redis 的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。
通过 redis 的主从复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力,主服务器主要负责写操作,从服务器主要负责读操作
主从复制的过程:
1:当一个从数据库启动时,会向主数据库发送 sync 命令,
2:主数据库接收到 sync 命令后会开始在后台保存快照(执行 rdb 操作),并将保存期间接收到的命令缓存起来
3:当快照完成后,redis 会将快照文件和所有缓存的命令发送给从数据库。
4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。
注意:redis2.8 之前的版本:当主从数据库同步的时候从数据库因为网络原因断开重连后会重新执行上述操作,不支持断点续传。redis2.8 之后支持断点续传
注意:从 Redis 2.8 开始,为了保证数据的安全性,可以通过配置 min-slaves-to-write,让一个主节点在至少有 N 个从节点的情况下才能执行写操作。从节点以每秒一次的频率 ping 主节点,主节点会记录各个从服务器最后一次向它发送 ping 的时间。用户可以通过配置,指定网络延迟的最大值 min-slaves-max-lag 以及执行写操作所需的最少从服务器数量 min-slaves-to-write
min-slaves-to-write 3
min-slaves-max-lag 10
如果至少有 min-slaves-to-write 个从服务器,并且这些服务器的延迟值都少于 min-slaves-max-lag 秒,那么主服务器才会执行客户端请求的写操作。只要有一个条件不满足,写操作就不会执行,主服务器会向请求执行写操作的客户端返回一个错误。
二、主从复制的部署:
Redis 主从结构支持一主多从
主节点:192.168.1.170
从节点:192.168.1.171
注意:所有从节点的配置都一样
方式 1:手动修改配置文件
只需要额外修改从节点中 redis 的配置文件中的 slaveof 属性即可
slaveof 192.168.1.170 6379
启动 170 主节点上面的 redis,查看 redis 的 info 信息(执行 info 命令)
启动 171 从节点上面的 redis
,查看 redis 的 info 信息
方式 2:动态设置
通过 redis-cli 连接到从节点服务器,执行下面命令即可。
slaveof 192.168.1.170 6379
三、主从复制需要注意的问题:
① 如果你使用主从复制,那么要确保你的 master 激活了持久化,或者确保它不会在当掉后自动重启。slave 是 master 的完整备份,因此如果 master 通过一个空数据集重启,slave 也会被清掉。
②在配置 redis 复制功能的时候如果主数据库设置了密码,需要在从数据的配置文件中通过 masterauth 参数设置主数据库的密码,这样从数据库在连接主数据库时就会自动使用 auth 命令认证了。相当于做了一个免密码登录。
到此,相信大家对“redis 主从复制怎么实现”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!