Redis的补充---持久化和主从复制

来源:互联网 发布:python的素数怎么表示 编辑:程序博客网 时间:2024/06/05 15:47

1. Redis持久化方案

1.1 Rdb方式

Redis默认的方式,redis通过快照来将数据持久化到磁盘中。

1) 设置持久化快照的条件

在redis.conf中修改持久化快照的条件,如下:
这里写图片描述

2) 持久化文件存储的目录

在redis.conf中可以指定持久化文件存储的目录和文件名
这里写图片描述

Rdb问题

一旦redis非法关闭,那么会丢失最后一次持久化之后的数据。
如果数据不重要,则不必要关心。
如果数据不能允许丢失,那么要使用aof方式。

1.2 Aof方式

Redis默认是不使用该方式持久化的。Aof方式的持久化,是操作一次redis数据库,则将操作的记录存储到aof持久化文件中。

开启aof方式的持久化方案,并设置持久化文件名。

这里写图片描述
文件存储的目录和Rdb方式相同。

1.3 结论

在使用aof和rdb方式时,如果redis重启,则数据从aof文件加载。

2. 主从复制

2.1 什么是主从复制

持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失,如果通过redis的主从复制机制就可以避免这种单点故障,如下图:
这里写图片描述

说明:
1. 主redis中的数据有两个副本(replication)即从redis1和从redis2,即使一台redis服务器宕机其它两台redis服务也可以继续提供服务。
2. 主redis中的数据和从redis上的数据保持实时同步,当主redis写入数据时通过主从复制机制会复制到两个从redis服务上。
3. 只有一个主redis,可以有多个从redis。
4. 主从复制不会阻塞master,在同步数据时,master 可以继续处理client 请求
5. 一个redis可以即是主又是从,如下图:
这里写图片描述

2.2 主从复制设置

1) 主机配置,主机无需配置

2) 从机配置

第一步:复制出一个从机
[root@centos03 local]# cp redis ./redis-slave -r

第二步:修改从机的redis.conf,修改端口号为6380
这里写图片描述

第三步:修改从机的redis.conf,开启主从复制
修改前:
这里写图片描述
修改后:
这里写图片描述

第四步:清除从机中的持久化文件
[root@centos03 bin]# rm -f dump.rdb appendonly.aof

第五步:启动从机
[root@centos03 bin]# ./redis-server redis.conf

第六步:启动6380的客户端
[root@centos03 bin]# ./redis-cli -p 6380

注意:
主机一旦发生增删改操作,那么从机会将数据同步到从机中
从机不能执行写操作。
这里写图片描述

原创粉丝点击