【Redis】持久化

Redis持久化分为两种方式,分别为RDB和AOP

RDB

RDB持久化就是把当前进程数据生成快照保存到硬盘的过程

触发机制

手动触发
save 命令:阻塞当前Redis服务,直到RDB过程完成为止
bgsave命令:Redis 进行fork操作创建子进程,RDB持久化操作由子进程负责,完成后自动结束,阻塞只发生在fork阶段。Redis内部所有涉及RDB的操作都采用bgsave的方式,而save方式基本废弃。

自动触发
通过配置redis.conf设置自动快照持久化的方式。

Save 900 1     
Save 300 10     
Save  60 1000  

上面含义是900秒后有一个key键发生修改就执行bgSave。300秒后有10个key发生修改就执行bgSave。60秒后有1000个key发生修改就执行bgSave。

流程

在这里插入图片描述

优缺点

优点:
Redis
缺点:

RDB不适合实时持久化

AOF

以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到回复数据的目的

流程

AOF 的流程操作:命令写入,文件同步,文件重写,重启加载

在这里插入图片描述

命令写入

AOF采用文本协议格式,并且把命令追加到aof_buf中。

文件同步

AOF 缓冲区同步文件策略,由参数appendfsync控制

appendfsync always
appendfsync everysec
appendfsync no

这里是配置AOF持久化的策略。redis默认使用everysec,就是说每秒持久化一次,而always则是每次操作都会立即写入aof文件中。而no则是不主动进行同步操作,是默认30s一次。当然always一定是效率最低的,个人认为everysec就够用了,数据安全性能又高。

重写机制

在这里插入图片描述

重启加载

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗琪小姐姐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值