Redis在作为可内存持久化的Key-Value数据库是使用的过程中是可以做主从服务的。在Redis的大规模集群中Redis的主从服务就是集群实现的基础,在Redis的主从服务中有以下几个优点:
1、master可以有多个slave。
2、除了多个slave连到相同的master外,slave也可以连接其它slave形成图状结构。
3、主从复制不会阻塞master。也就是说当一个或多个slave与master进行初次同步数据时,master 可以继续处理客户端发来的请求。相反slave在初次同步数据时则会阻塞不能处理客户端的请求。
4、主从复制可以用来提高系统的可伸缩性,我们可以用多个slave专门用于客户端的读请求,比如sort操作可以使用slave 来处理。也可以用来做简单的数据冗余。
5、可以在master禁用数据持久化,只需要注释掉master配置文件中的所有save配置,然后只在slave上配置数据持久化。
6、在slave上数据只读,如此保障了数据的一致性
这样在平时就可以灵活的在使用Redis,而配置Redis的主从也十分的简单,只需要在Redis的slave服务器上配置文件redis.conf中修改添加以下配置即可:
slaveof
#填上master的IP和端口
masterauth
#填上master的密码
#建议在Redis中开启logfile输出
在这里正常slave连接上master后,在第一次的时候master就会在后台实时启动一个进程把数据保存在快照中,再通过sync把快照传送至slave,最后由slave把快照导入slave的Redis库中,而在后续在master上接收的指令都会同步发送一份至slave,从而实现主从同步,这里需要注意的是在搭建好后如果master有设置口令验证而在slave中没有配置masterauth参数时,那么在主从连接时就会报错,且在日志中会时时打印如下的日志信息:
# MASTER aborted replication with an error: NOAUTH Authentication required.
在master和slave正常搭建连接后在master和slave中都会打印相应的成功日志
下面关于的文章您也可能喜欢,不妨参考下:
http://www.linuxidc.com/Linux/2014-05/101544.htm
Redis主从复制基本配置 http://www.linuxidc.com/Linux/2015-03/115610.htm
Redis4.0.1安装以及主从复制详解 http://www.linuxidc.com/Linux/2017-11/148514.htm
CentOS 7下Redis的安装与配置 http://www.linuxidc.com/Linux/2017-02/140363.htm
Ubuntu 14.04安装Redis与简单配置 http://www.linuxidc.com/Linux/2017-01/139075.htm
Ubuntu 16.04环境中安装PHP7.0 Redis扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
Redis 单机&集群离线安装部署 http://www.linuxidc.com/Linux/2017-03/141403.htm
CentOS 7.0 安装Redis 3.2.1详细过程和使用常见问题 http://www.linuxidc.com/Linux/2016-09/135071.htm
Ubuntu 16.04环境中安装PHP7.0 Redis扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
Ubuntu 15.10下Redis集群部署文档 http://www.linuxidc.com/Linux/2016-06/132340.htm
Redis实战 中文PDF http://www.linuxidc.com/Linux/2016-04/129932.htm
:http://www.linuxidc.com/Linux/2017-11/148575.htm