Redis的持久化

Redis的持久化方式

1、Redis的持久化

redis的持久化:将内存中的数据保存到磁盘上,防止数据的丢失

redis支持的持久化方式有两种:
	(1)RDB快照方式:将数据以快照的形式存储在磁盘之上。可以理解为将当前时刻的数据排成一张照片进行保存。
	(2)AOF:日志追加,记录服务器接受的每一个写入操作(增、删、改,不包含查),当服务器启动时再次加载该日志,将日志中的命令重新执行一遍,从而达到数据的持久化

2、RDB快照持久化

2.1、如何触发RDB的持久化呢?
三种方式:
	1、手动使用save命令
	2、手动使用bgsave命令
	3、通过配置自动触发
2.2、save和bgsave的区别及如何使用
save命令:
	save命令会阻塞当前的Redis服务器,执行save命令期间,Redis不能执行其他的命令,直到RDB过程完成为止。流程提如下:

在这里插入图片描述

bgsave:
	执行bgsave时,redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。流程图如下:

在这里插入图片描述

2.3设置RDB的自动触发:

进入redis目录,

在这里插入图片描述

编辑redis.conf文件,对save继续设置

在这里插入图片描述

2.4RDB方式保存的文件名称设置:

在redis.conf文件中使用命令查找到设置名称位置,根据自己偏好设置(可不修改,默认为dump)

在这里插入图片描述

在这里插入图片描述

2.5、RDB方式的数据恢复
RDB为自动恢复,将dump.rdb(若修改了名称将则为自己设置的那个.rdb文件)文件放入含有redis.conf文件的包下即可,redis再次启动时会加载此目录下的.rdb文件
2.6、RDB快照持久化方式的优缺点

优点:

(1)RDB文件紧凑,适合用于备份和灾难恢复。
(2)生成RDB文件时,redis进程会fork()一个子进程来处理所有的保存工作,主进程不需要进行任何的磁盘IO操作。
(3)RDB在恢复大数据集时的速度比AOF要快

缺点:

RDB快照持久化期间修改的数据不会被保存下来,有可能会丢失数据。保存数据的完整性较差。

3、AOF日志持久化方式

3.1、AOF模式默认为关闭的,需要手动开启(修改redis.conf中的内容)
AOF工作机制:redis将每一个收到的写命令通过write函数追加到文件之中,每次redis启动会将AOF生成文件中的代码自动加载一遍,使redis状态达到重启前的状态。

修改redis.conf文件中的配置,设置开启aof,

在这里插入图片描述

3.2、AOF的优缺点

优点:

(1)AOF可以更好的保护数据不丢失,一般AOF会每隔一秒,通过一个后台线程执行一次fsync操作,因此其最多丢失1秒钟的数据。
(2)AOF日志文件不用写入磁盘,没有任何磁盘寻址的开销,写入性能非常高,且文件不易损坏。
(3)AOF日志文件过大时,会出现后台重写操作,不会影响客户端的读写。

缺点:

(1)对于同一份数据而言,AOF日志文件通常比RDB数据快照文件要更大。
(2)恢复数据时用的时间比快照模式要慢很多。

文件过大时,会出现后台重写操作,不会影响客户端的读写。

缺点:

(1)对于同一份数据而言,AOF日志文件通常比RDB数据快照文件要更大。
(2)恢复数据时用的时间比快照模式要慢很多。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值