Redis持久化机制

保证redis服务器挂掉之后,重启,数据可以恢复,这就是Redis持久化

Redis有两种持久化方式

(1)快照(snapshotting,RDB)

(2)只追加文件(appen-only file,AOF)

默认是采用RDB方式进行持久化   可以这么帮助记忆:一个是存储结果(RDB),一个是存储过程(AOF)

redis中的数据是存储在内存中的,如果突然断电了,那内存中的数据会丢失,持久化数据也就是将内存中的数据写入到硬盘里面,这样即使断电也可以从硬盘中直接写入内存,内存中的数据不会丢失

RDB就是:将某一时刻的内存里面的数据以二进制的方式(保存成一个dump.rdb文件)写入磁盘

redis重启的时候会去加载这个dump.rdb文件来恢复数据

在配置文件redis.config中可以进行设置:

save 900 1  在900秒以内,内存的数据变化超过一次以上,这个时候就会把内存中的所有数据全部持久化到硬盘上

save 300 10  在300秒以内,内存的数据变化超过十次以上,这个时候就会把内存中的所有数据全部持久化到硬盘上

AOF:记录所有的写操作,读操作不记录(将redis执行过的所有指令记录下来),

然后以日志的形式追加到文件中(当日志文件越来越大的时候,它自己会删除一些无效的操作,只保留可以恢复数据的最小指令集)。

恢复数据的时候,直接把这些文件全部再执行一遍就行来完成数据的恢复工作

由于RDB不是每次内存中数据一变化就去持久化到硬盘里,所以有数据丢失的风险,但是RDB很快

AOF刚好相反,每次对内存操作一次,就要对硬盘操作一次,所以它不会有数据丢失的风险,但是它的性能很差,太慢了

RDB更快,AOF更安全

正是由于RDB更快,所以默认是采用RDB方式进行持久化

Redis4.0默认采用混合持久化的方式:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值