redis持久化

1、rdb机制

1.1、rdb是什么

在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。
Redis会单独创建 ( fork )一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的。这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。

在这里插入图片描述

1.2、rdb优缺点

优点:
1、适合大规模的数据恢复
2、对数据的完整性不高
缺点:
1、需要一定的时间间隔进程操作,如果redis意外宕机了,这个最后一次修改的数据就丢失了
2、fork进程的时,候会占用一定的内存空间

1.3、保存机制

rdb保存的文件名dump.rdb默认的文件名
在这里插入图片描述

1.3.1、save保存
  • 900秒内修改了一次就会触发保存
  • 300秒内修改了10次触发保存
  • 60秒内修改了10000次触发保存
    在这里插入图片描述
1.3.2、触发机制
  • 1、save的规则满足的情况下,会自动除法rdb规则
  • 2、执行flushall命令,也会触发rdb规则
  • 3、退出redis,也会产生rdb文件
1.3.3、如何恢复rdb文件

1、只需要将rdb文件放在redis启动目录下就可以了,redis启动会自动检查dump.rdb恢复其中的数据
2、查看需要缓存的位置

127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/usr/local/soft/redis/bin"

2、AOF机制

2.1、AOF是什么

以日志的形式来记录每个写操作,将Redis执行过的所有指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作
在这里插入图片描述

2.2、AOF优缺点

优点
1、每一次修改都同步,文件的完整性会更加好
2、每秒同步一次,可能会丢失疫苗的数据
3、从不同步效率更高的
缺点
1、相对于数据文件来说,aof远大于rdb,修复的速度也比rdb慢
2、aof的运行效率也要比rdb慢,所以redis的默认的配置就是rdb持久化

2.3 、保存机制

appendonly.aof默认的文件名
在这里插入图片描述

appendonly no
默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分所有的情况下,rdb完全够用!
appendfilename "appendonly.aof"
持久化的文件的名字

2.3.1、持久化机制

appendfsync always#每次修改都会sync。消耗性能
appendfsync everysec #每秒执行一次sync,可能会丢失这1s的数据!
appendfsync no #不执行 sync,这个时候操作系统自己同步数据,速度最快!

2.3.2、重写机制

1、当文件大小超过64MB时就会触发一次重写机制
2、当文件大小超出上一次重写时的文件大小的100%就会触发一次重写

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值