redis的持久化缓存机制(复习专用)

本文深入探讨Redis的持久化机制,包括RDB(快照)和AOF(日志)两种方式。RDB提供数据集的快照,适合大规模数据恢复,但可能丢失最近修改;AOF记录写操作日志,数据丢失少但体积大,恢复速度慢。文章还讨论了AOF重写机制和混合持久化策略,并给出了相关配置选项及触发条件。
摘要由CSDN通过智能技术生成

你对redis持久化的理解?

(为什么要对于redis进行持久化?)
redis对于数据的操作是基于内存的,如果出现进程退出或者服务器宕机的情况,redis中的数据会丢失不可恢复,为了不会造成数据的丢失,所以需要对于redis中的数据进行持久化存储。
对于redis持久化的方式有三种:
RDB(全称:Redis Data Base)(默认开启)
AOF (全称:Append Only File ) (默认不开启)
RDB和AOF混合持久化方式(redis4.0以后)

RDB方式:持久化内存数据

快照的方式
(默认的持久化机制)

什么是RDB?

在指定的时间间隔内将内存中的数据集的快照写入磁盘

底层原理:

Redis会单独创建(Fork)一个子进程来进行持久化,先会将数据写入到一个临时文件中,待持久化过程结束后,再用这个临时文件去;替换上次持久化好的dump.rdb文件,这样的话,会保证数据的完整性
缺点:最后一次的持久化数据可能会丢失。

触发机制

触发机制分为手动触发和自动触发
手动触发是通过sava(不推荐,阻塞)和bgsave(推荐,异步)命令进行触发
自动触发是通过shutdown进行自动触发,然后通过bgsave方式进行持久化

如何恢复

redis重启的话,会自动通过读取dump.rdb文件进行恢复数据

优点
  • 适合大规模的数据修复
  • 对于数据完整性和一致性要求不高更适合使用
  • 节省磁盘空间
  • 恢复速度快
缺点

Fork 的时候,内存中的数据被克隆了一份,大致2倍的膨胀性要考虑
虽然 Redis 在fok 时使用了写时拷贝技术,但是如果数据庞大时还是比较消耗性能。
在备份周期在一定间隔时间做一次备份,所以如果Redis意外down掉的话,就会丢失最后一次快照后的所有修堂

配置文件(陌生点):

1、当Redis无法写入磁盘的话,直接关掉Redis的写操作。推荐yes.

stop-writes-on-bgsave-eror:yes

2、对于存储到磁盘中的快照,可以设置是否进行压缩存储。如果是的话,redis,会采用LZF算法进行压缩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值