Redis的持久化

存储层:1.快照
2.日志

RDB

就是存储的快照
时点性
当进行快照时进行:
1.阻塞redis不再对外提供服务
2.非阻塞,redis继续对外提供服务,将数据落地,创建子进程,子进程进行数据的落地,父进程进行增删改查fork,cow(copy on write内核机制,写时复制,复制的是指针),进程是数据隔离的
redis调用fork,进行进程的拷贝
方法:1.save是阻塞的,应用场景关机维护
2.bgsave,fork创建子进程
3.配置文件中给出bgsave的规则
默认:save 900 1
save 300 10
save 60 10000
弊端:不支持拉链,只会有一个dump.rdb
丢失数据多一些,9点持久化时挂机了
优点:类似于java中的序列化,恢复的速度相对快
redis-check-rdb rdb的文件名,检查有没有报错

AOF

1.redis的写操作记录在文件里
2.丢数据少
3.redis可以同时存在rdb和aof,如果开启了aof,只会用aof恢复
4.4.0以后,aof中有一个全量的rdb,增加新的写操作的记录
5.弊端体量无限大,回复速度慢
6.hdfs,fsimage+edits.log让日志只记录增量合并的过程
7.4.0以前删除和抵消的命令,合并重复的命令
8.4.0以后,重写后将老数据RDB到AOF文件中,将增量的以命令的方式append到AOF中,是一个混合体,利用了RDB的快和AOF的全量
9.写操作会出发IO
10.NO,Always,everysec的级别
10.打开aof,命令appendonly yes
11.appendfsync always每写满一个buffer kernel d8就会flush到磁盘一次
12.appendfsync no 当kernel满了再flush到磁盘
13.appendfsync everysec ,每秒调用一次flush
14.aof日志文件中*代表几个元素,$代表元素是由几个字节组成
15.bgrewriteaof 重写aof
16.auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb 当aof文件等于64m时进行重写,每次都加100%个64mb进行重写

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值