redis数据库误删如何恢复,使用flushdb误删了数据库所有的key

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43886133/article/details/96140316

公司的redis,里面数据是一些相对重要的数据, 结果被一小伙误删,顿时心中万马奔腾!还好之前我使用两种方式做了数据的持久化。
对于误删操作的恢复修改备份文件appendonly.aof, 具体操作如下:

关闭redis服务

# 其中一种关闭方式
ps -aux | grep redis
sudo kill -9 <redis进程ID>

打开aof文件

  • 找到最近的flushdb的命令然后删除
*1 
$7
FLUSHDB

重启redis

cd /usr/bin/
sudo redis-server /etc/redis/redis.conf 

注意

同时存在aof与rdb文件
在存在aof文件的情况下, 默认使用aof文件恢复,否则使用rdb文件恢复

关于aof文件的格式的解释

lpush temp laowang

*3      // *3代表这个命令3个参数
$5      // $5 代表第一个参数长度为5
LPUSH   // 参数1
$4      // 代表第二个参数长度为4
temp    // 参数2
$7      // 代表第三个参数长度为7
laowang // 参数3

关于redis持久化配置

  • Redis 现在默认使用 RDB持久
# 在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。
save 900 1
# 在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照
save 300 10
# 60秒(1分钟)之后,如果至少有10000个key发生变化,	则dump内存快照。
save 60 10000
# tell the loading code to skip the check.
rdbchecksum yes 
# The filename where to dump the DB
dbfilename dump.rdb
# The Append Only File will also be created inside this directory.
# Note that you must specify a directory here, not a file name.
dir /var/lib/redis
  • 为了保证数据的更加安全使用 AOF协作的形式对Redis数据进行持久化
appendonly yes 

猜你喜欢

转载自blog.csdn.net/weixin_43886133/article/details/96140316
今日推荐