redis集群策略-主从复制

一,主从复制:

  1. Master可以拥有多个slave
  2. 多个slave除了可以连接到同一个master外,还可以连接到其他的slave,但不常用。
  3. 主从复制不会阻塞到master,再同步数据时,master可以继续处理client的请求。
  4. 主服务器负责写,从服务器负责读。

二,主从复制过程: 

  1. slave与master建立连接,发送同步命令。
  2. master后台会创建一个后台进程将数据库快照保存到文件中(rdb方式),主进程开始继续收集写入命令并且写入缓存。
  3. 完成了后台的写入文件后,就将rdb文件和缓存发送给slave。
  4. slave拿到rdb文件后将文件保存至磁盘并执行收到的缓存里面的命令,就完成了主从复制。

三,配置主从复制:我这里以自己的机器为例

1. 首先需要三台服务器(装有redis的机器)

2. 我使用的机器,我使用centOs redis1 ip:192.168.159.137作为主服务器,其余两个作为从服务器。

centOs redis1 ip:192.168.159.137
centOs redis2 ip:192.168.159.138
centOs redis3 ip:192.168.159.139 

 3.配置从服务器这里以centOs redis2 ip:192.168.159.138为例

vim /usr/local/redis-4.0.0/redis.config

slaveof <masterip> <masterport>      masterip:主服务器ip   masterport:主服务器端口号

 

wq,保存。

4. 启动主服务器centOs redis1 ip:192.168.159.137,启动 centOs redis1 ip:192.168.159.138.

运行 从服务器redis-cli,输入info

发现 master_link_status:down ,主服务器是关闭的。但我的主服务器是开启的。经过搜索资料。主服务器也需要配置一下。

5.配置主服务器

vim /usr/local/redis-4.0.0/redis.config

(1)将 bind  127.0.0.1注释掉

 

 (2)将protected-mode  改成no

保存,启动主服务器和主服务器,运行redis-cli。输入info命令。

 主:

从:

 

测试:

主:

 

从:

 

可见已经成功。 

此时我们测试使用从服务器set

 

发现报错:意思就是从服务器不能执行写操作,只能读。 

猜你喜欢

转载自blog.csdn.net/IPI715718/article/details/83960011