或者在客户端中通过config set命令设置是否开启只读模式:
config set slave-read-only no上面将slave服务器设置为可以写入,但是要注意,如果slave也配置了自己的从服务器(sub-slave),那么sub-slave只会同步从master服务器同步到slave的数据,而并会同步我们直接写入slave服务器的数据 。
主从复制中的key过期问题我们都知道Redis可以通过设置key的过期时间来限制key的生存时间,Redis处理key过期有惰性删除和定期删除两种机制,而在配置主从复制后,slave服务器就没有权限处理过期的key,这样的话,对于在master上过期的key,在slave服务器就可能被读取,所以master会累积过期的key,积累一定的量之后,发送del命令到slave,删除slave上的key 。
如果slave服务器升级为master服务器,则它将开始独立地计算key过期时间,而不需要通过master服务器的帮助 。
主从复制的作用保存Redis数据副本
当我们只是通过RDB或AOF把Redis的内存数据持久化毕竟只是在本地,并不能保证绝对的安全,而通过将数据同步slave服务器上,可以保留多一个数据备份,更好地保证数据的安全 。
读写分离
在配置了主从复制之后,如果master服务器的读写压力太大,可以进行读写分离,客户端向master服务器写入数据,在读数据时,则访问slave服务器,从而减轻master服务器的访问压力 。
![Redis主从复制机制详解](http://img.jiangsulong.com/220405/1J6362354-3.jpg)
文章插图
高可用性与故障转移
服务器的高可用性是指服务器能提供7*24小时不间断的服务,Redis可以通过Sentinel系统管理多个Redis服务器,当master服务器发生故障时,Sentineal系统会根据一定的规则将某台slave服务器升级为master服务器,继续提供服务,实现故障转移,保证Redis服务不间断 。
小结Redis的主从复制可以让我们把Redis中的数据同步到其他服务器上,为数据安全提供更加安全的保障,也可以让我们的服务器在发生故障时而无法重启时,可以更加快速地切换服务器,继续对外提供服务 。
作者:张君鸿
链接:https://juejin.im/post/5d14bb8ff265da1b602915c5
推荐阅读
- 领券中心项目,我是如何用 Redis 做实时订阅推送的?
- 写给大忙人的Redis主从复制,花费五分钟让你面试不尴尬
- 达到物理网卡上限,突然几十万的请求访问Redis的某个key如何解决
- 可复制的漂亮特殊符号九尾狐 王者荣耀稀有漂亮符号
- 学会复制粘贴小技巧 粘贴复制快捷键
- 比复制粘贴好用多了的 复制粘贴快捷键
- Redis内存数据库笔记
- Redis数据结构和通用命令
- redis有哪些功能
- 网站被恶意镜像复制怎么办