恢复Redis被误删的数据

结论:要恢复删除的key,前提是需要开启aof持久化策略;在开启aof持久化策略的情况下,删不删除rdb文件没有关系。
因为:redis恢复机制,即在开启aof并且存在文件的情况下,优先从aof文件中恢复

  1. 如果只配置 AOF ,重启时加载 AOF 文件恢复数据;
  2. 如果同时配置了 RDB 和 AOF ,启动是只加载 AOF 文件恢复数据;
  3. 如果只配置 RDB,启动是将加载 dump 文件恢复数据。

附:
在这里插入图片描述

https://www.alibabacloud.com/help/zh/apsaradb-for-redis/latest/backup-and-restoration-solutions?spm=a2c63.p38356.0.0.2ae942d6CYKMPH#section-nr6-ei4-yiu

1.开启aof和rdb持久化策略
 appendonly yes
 appendfilename "appendonly.aof"

 // rdb默认开启,可以配置调整参数
 save 900 1
 save 300 10
 save 60 10000

连接redis后,造些测试数据:

set james_test 123

通过save命令产生redis rdb备份文件,通过config set appendonly yes会产生aof文件;

打开rdb文件查看内容:
在这里插入图片描述

打开aof文件查看内容:
在这里插入图片描述
删除刚才创建的key:

del james_test

此时我们再看aof文件中多了些东西:
在这里插入图片描述
最后5行解析:

*2   // 代表del james_test总共分为两部分
$3  // $3代表接下来是个字符串,长度为3
del // 字符串del,长度为3
$10  //   $1代表接下来是个字符串,长度为10
james_test    // 字符串james_test,长度为10

而rdb文件内容不变:
在这里插入图片描述
把aof文件中del以及后面的内容删掉并保存:
在这里插入图片描述

然后重启redis,查看刚才的key:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值