您的位置:首页 > 数据库 > Redis

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

2017-06-25 20:38 543 查看

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


注意:

b42e

主机一旦发生增删改操作,那么从机会将数据同步到从机中

从机不能执行写操作。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: