Redis-误操作尝试恢复

时间:2021-05-09 08:50:41

如果不小心使用了flushall把全部数据清楚怎么办

127.0.0.1:6379> set site www.google.com
OK
127.0.0.1:6379> set address beijing
OK
127.0.0.1:6379>
127.0.0.1:6379> flushall #清楚所有数据
OK
127.0.0.1:6379>
127.0.0.1:6379> get address
(nil)
127.0.0.1:6379>

此时立即shutwodn服务器, 原因是为了防止别人正在写服务器导致aof重写, 一旦aof重写, 数据就不能恢复了

127.0.0.1:6379> shutdown nosave     #表示这条命令不被写入到aof
not connected>

查看aof

ql@ql:~$ cat appendonly.aof
*2
$6
SELECT
$1
0
*3
$3
set
$4
site
$14
www.google.com
*3
$3
set
$7
address
$7
beijing
*1 #从这行开始的下面3行是flushall的完整命令
$8
flushall

重新编写aof, 把最下面3行全部删除保存