共计 1812 个字符,预计需要花费 5 分钟才能阅读完成。
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 <masterip> <masterport>
# 填上 master 的 IP 和端口
masterauth <master-password>
# 填上 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 中都会打印相应的成功日志
下面关于 Redis 的文章您也可能喜欢,不妨参考下:
Ubuntu 14.04 下 Redis 安装及简单测试 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