Linux下redis主从搭建

2018-01-15  本文已影响0人  面朝大海_1234

一、Redis主从简介

Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以 拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面是关于redis主从 复制的一些特点:

    1.master可以有多个slave

     2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构

     3.主从复制不会阻塞master。也就是说当一个或多个slave与master进行初次同步数据 时,master可以继续处理client发来的请求。相反slave在初次同步数据时则会阻塞不 能处理client的请求。

     4.主从复制可以用来提高系统的可伸缩性,我们可以用多个slave 专门用于client的读请 求,比如sort操作可以使用slave来处理。也可以用来做简单的数据冗余

     5.可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置, 然后只在slave上配置数据持久化。

二、主从复制原理

当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。无论是 第一次同步建立的连接还是连接断开后的重新连接,master都会启动一个后台进程, 将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。 后台进程完成写文件后,master就发送文件给slave,slave将文件保存到磁盘上,然后 加载到内存恢复数据库快照到slave上。接着master就会把缓存的命令转发给slave。 而且后续master收到的写命令都会通过开始建立的连接发送给slave。从master到slave 的同步数据的命令和从client发送的命令使用相同的协议格式。当master和slave的连 接断开时slave可以自动重新建立连接。如果master同时收到多个slave发来的同步连 接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。

三、主从配置

主从的配置相当的简单,在上一篇文章中我们搭建了单机版的redis,地址为192.168.159.128,此时我在地址为192.168.159.130上搭建从redis,用上一篇的方式搭建好后,此时修改配置文件redis.conf

bind  192.168.159.130

slaveof 192.168.159.128 6379  (映射到主服务器上)

masterauth “123456”(设置主服务的连接密码)

从节点配置

四、测试

启动192.168.159.130上的redis后连接

连接从节点

连接成功后我们可以看到从redis也有之前的51条数据了

从节点数据

且从库redis这边的rdb文件大小也与主redis上的rdb文件大小一样

从节点持久化

然后我们接下来的任何在主数据库上的操作,从数据库都会立即同步数据。

此时我们在主redis上保存一条数据:

主节点存数据

结果如下:

主从同步
上一篇下一篇

猜你喜欢

热点阅读