Redis AOF 文件 恢复数据

redis AOF 文件 恢复数据

redis.conf 中,将配置 appendonly no,改为appendonly yes,将其打开、

通过 redis-server redis.conf 的方式启动 redis

查看redis 的安装目录是否生成 appendonly.aof 文件,如果没有生成,那就执行如下命令
redis-cli config set appendonly yes

再次查看 目录是否生成了 AOF 文件

通过 AOF 恢复数据需要注意的地方是 AOF 重写的问题,如果 AOF 文件发生重写,redis 会遍历生成的 AOF 文件,并将新的 AOF 文件覆盖之前 AOF 文件,那么这样意味着之前的数据就丢了,那么就需要调大 AOF 重写的两个参数

  • auto-aof-rewrite-percentage
  • auto-aof-rewrite-min-size

也不要手动执行 bgrewriteaof

# 当 AOF log增长超过指定比例时,重写 log file,默认是100,这里调大一些 调为1000
auto-aof-rewrite-percentage 1000 

# 触发aof rewrite的最小文件尺寸 , 默认是  64mb
auto-aof-rewrite-min-size 512mb 

当不小心执行了 flushall清除了所有的数据后,打开 appendonly.aof 的文件
删除末尾的

*1
$8
flushall

去掉 AOF 里 flush 的操作之后,最好利用 redis-check-aof这个工具来检测一下你修改过后的 AOF 文件是否正常,以防启动恢复数据的时候出错

redis-check-aof appendonly.aof
AOF analyzed: size=100, ok_up_to=100, diff=0
AOF is valid

AOF is valid aof 文件是有效的,那么可以重启 redis 恢复数据了
通过 配置文件的方式重启 redis 即可

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Redis AOF是一种持久化机制,用于将Redis服务器的操作日志以追加的方式记录在磁盘上。引用中提到,当AOF文件的体积变得过大时,Redis可以自动进行AOF重写。AOF重写实际上是对当前数据集所需的最小命令集合进行重写,而不是对原有的AOF文件进行写入和读取操作。这个重写过程是在后台进行的,通过fork子进程来执行。重写后的新AOF文件能够恢复当前数据集的状态。 引用中提到,RedisAOF重写程序放在后台子进程中执行的原因是为了避免影响服务器的请求处理能力。通过将AOF重写程序放在后台执行,可以确保服务器能够继续处理请求,而不会被AOF重写过程阻塞。 在Redis服务器中,redisServer结构维护着服务器的状态,而aof_buf域则用来保存等待写入AOF文件的协议文本(RESP)。这些协议文本包含了对键的操作命令,用于记录服务器的操作日志。当需要将操作日志写入AOF文件时,这些协议文本会被写入到AOF缓冲区中,然后由后台的AOF子进程负责将缓冲区中的内容写入到AOF文件中。这种方式可以提高性能,并且减少了直接写入文件的开销。引用中提到了这一点。 综上所述,RedisAOF机制是通过记录操作日志来实现数据持久化的。当AOF文件体积过大时,Redis会自动进行AOF重写,将当前数据集所需的最小命令集合写入一个新的AOF文件中。为了避免影响服务器的请求处理能力,AOF重写过程会在后台执行。通过维护一个AOF缓冲区,Redis可以将待写入的协议文本暂时保存在内存中,然后由后台子进程负责将其写入AOF文件中。这种机制可以提高性能并减少直接写入文件的开销。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北屿北屿北屿

你的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值