Redis的持久化

单节点Redis存在的问题:

  • 数据丢失
  • 并发能力
  • 存储能力
  • 故障恢复

 Redis的持久化:

RDB(Redis数据备份文件)持久化

save表示有Redis的主进程执行rdb,会阻塞所有命令,bgsave表示后台保存。

redis默认在停机前会进行自动持久化的操作,如下图。

redis自动将数据保存在dump.rdb文件中,下次启动时会自动恢复数据。

以上的自动保存功能是在redis正常退出时才会执行自动保存,但是如果在运行过程中突然宕机,数据就会丢失。所以需要进行定时的RDB操作,来保证数据的持久化。

如果删除dump.rdb文件数据就不会恢复了。

设置save 5 1:在5秒内,如果至少有一个key被修改,则执行bgsave,如果是save ""则表示禁用RDB。

bgsave开始时会fork主进程得到子进程,子进程共享主进程的内存数据,完成fork后读取内存中的数据。因为需要数据拷贝,所以要预留内存。

AOF持久化:

AOF(追加文件),Redis处理的每一个写命令都会记录在AOF文件中,可以看作是日志文件。

AOF文件格式如下:

禁用RDB:save ""

开启AOF:

刷盘策略:

重启redis,就不再加载RDB文件。

存入数据,自动创建aof文件,下次启动时再次执行aof中的命令,对数据进行恢复。但是对于相同的key恢复数据存在冗余操作。

停止redis服务:

再次重启加载appendly.aof文件

开启文件重写功能:

AOF和RDB对比:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值