【Redis的持久化策略及主从复制详细介绍】


前言

前文介绍了Redis的安装以及使用Redis数据库的简单命令,本文介绍Redis存储数据的持久化策略,以及避免Redis单点存储数据遇到的问题。


一、什么是Redis的持久化?

Redis的高性能是由于其将所有数据都存储在了内存中,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化。

二、Redis持久化策略

Redis持久化策略分为两种,RDB策略和AOF策略,默认是RDB策略,两种策略可单独使用也可结合起来使用。

1.RDB策略(存储数据)

RDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘。RDB持久化存储的是数据,下面对此进行验证:

  • 启动redis服务及运行其客户端,存储一个数据
    如图所示
    在这里插入图片描述

  • 在客户端的redis目录下会出现dump.rdb文档,打开文档,如图所示:
    在这里插入图片描述

  • RDB在配置文件中存储数据的配置如下:

save 900 1 #超过1个key被修改,需900秒,发起快照保存
save 300 10 #超过10个key被修改,需300秒,发起快照保存
save 60 10000 #超过10000个key被修改,需60秒,发起快照保存

思考:若存储时关闭服务或关闭电源RDB策略存储会发生怎样的问题?

2.AOF策略(存储命令)

默认Redis没有开启AOF持久化,需要改变redis/bin目录下的redis.conf配置文件,配置文件修改内容如下:

appendonly yes

AOF存储的是命令,下面对此进行验证:

  • 修改redis.conf中对应内容(appendonly yes)
  • 向redis中存储数据
    如图所示:
    在这里插入图片描述
  • 打开appendonlf.aof文档,显示存储命令
    如图所示:
    在这里插入图片描述
  • AOF在配置文件中存储数据的配置如下:

#appendfsync always #每次有数据修改,写入AOF文件。
appendfsync everysec #每秒钟同步一次,为AOF的缺省策略。
#appendfsync no #从不同步。高效但是数据不会被持久化。

思考:AOF策略有什么优缺点?


小结:

RDB

​ 优点:让redis的数据存取速度变快

​ 缺点:服务器断电时会丢失部分数据(数据的完整性得不到保证)

AOF

优点:持久化良好,能包证数据的完整性

​ 缺点:大大降低了redis系统的存取速度


三、Redis的主从复制

思考:单机版的Redis存储数据会发生什么样的问题或者说为什么要进行主从复制?
答:当redis服务器的硬盘损坏了可能会导致数据丢失,如果通过redis的主从复制机制就可以避免这种单点故障

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

1.主从复制的过程

如图所示:在这里插入图片描述
详细过程如下:

  1. slave (从)服务启动,slave 会建立和master (主)的连接,发送sync 命令。
  2. master启动一个后台进程将数据库快照保存到RDB文件中
  3. master 就发送RDB文件给slave
  4. slave 将文件保存到磁盘上,然后加载到内存恢复
  5. master把缓存的命令转发给slave

2.主从复制的特点

  1. 主Redis和从Redis数据保持一致
  2. 主Redis挂掉后,从Redis只能读,不能进行写的操作

3.主从复制的配置

主Redis无需配置,只需修改从Redis的配置文件即可

  1. 拷贝Redis
    命令如下:
cd /usr/local
copy -r redis redis-6380
  1. 修改从redis-6380的redis.conf文件

port 6380 #修改端口
slaveof 192.168.175.134 6379 #配置从所属的主Redis的ip和端口号

  1. 分别开启主从Redis的服务,主从配置成功

总结

本文较详细地说明了Redis存储数据的RDB及AOF策略,以及对Redis主从复制的过程、特点及配置进行了说明。除此之外,还可对Redis搭建集群,实现更高的并发量。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值