Redis主从复制

来源:互联网 发布:手机能做淘宝链接 编辑:程序博客网 时间:2024/05/29 08:10

1.主从复制概念

Redis 支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。

1) master 可以有多个 slave。

2) 除了多个 slave 连到相同的 master 外,slave 也可以连接其它 slave形成树状结构。

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

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

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

2.主从复制过程

当设置好 slave 服务器后,slave 会建立和 master 的连接,然后发送 sync命令。无论是第一次同步建立的连接还是连接断开后的重新连接,master 都会启动一个后台进程,将数据库快照保存到文件中,同时 master 主进程会开始收集新的写命令并缓存起来。后台进程完成写文件后,master 就发送文件给 slave,slave 将文件保存到磁盘上,然后加载到内存恢复数据库快照到 slave 上。接着 master 就会把缓存的命令转发给 slave。

主从复制配置:主服务器不用配置,从服务器需要。Redis配置文件修改。

$ vim redis.conf  查找方式命令模式下输入 /slaveof

(↓这是一个从服务器)


修改后:

slaveof 192.168.102.129 6379   #指定 master 的 ip 和端口。

(表示这个redis是192.168.102.129 6379 这个redis的从服务器)


配置完成启动主服务器和两个从服务器。

主服务器显示当前角色是master,有两个从服务器都在线。(我配置了两个从redis)


从服务器显示当前角色是slave,链接状态为up。


主服务器写入一条数据

(↓这是master服务器)


从服务器可以获取

(↓这是一个从服务器)


从服务器尝试写入数据,显示从服务器只能写。

(↓这是一个从服务器)




原创粉丝点击