redis数据库备份配置,修改完不要忘记重启

一、半持久化RDB模式(默认)

半持久化RDB模式也是Redis备份默认方式,是通过快照(snapshotting)完成的,当符合在Redis.conf配置文件中设置的条件时Redis会自动将内存中的所有数据进行快照并存储在硬盘上,完成数据备份。

Redis进行RDB快照的条件由用户在配置文件中自定义,由两个参数构成:时间和改动的键的个数。当在指定的时间内被更改的键的个数大于指定的数值时就会进行快照。

在配置文件中已经预置了3个条件:

save       900    1           #900秒内有至少1个键被更改则进行快照;
save       300    10          #300秒内有至少10个键被更改则进行快照;
save       60     10000       #60秒内有至少10000个键被更改则进行快照。

Redis 执行 save 命令的时候,将禁止写入命令:

stop-writes-on-bgsave-error yes

这个命令意思是是否对 rbd 文件进行检验,如果是将对 rdb 文件检验。

rdbcompression yes

从 dbfilename 的配置可以知道,rdb 文件实际是 Redis 持久化的数据文件:

dbfilename dump.rdb

二、AOF备份(只需要改appendonly yes即可,其他可以不关心)

如果 appendonly 配置为 no,则不启用 AOF 方式进行备份。如果 appendonly 配置为 yes,则以 AOF 方式备份 Redis 数据,那么此时 Redis 会按照配置,在特定的时候执行追加命令,用以备份数据。

appendonly yes
appendfilename "appendonly.aof"

AOF 文件和 Redis 命令是同步频率的,假设配置为 always,其含义为当 Redis 执行命令的时候,则同时同步到 AOF 文件,这样会使得 Redis 同步刷新 AOF 文件,造成缓慢。而采用 evarysec 则代表每秒同步一次命令到 AOF 文件。默认是everysec。

#appendfsync always
appendfsync everysec
# appendfsync no......

Redis 重写 AOF 文件的条件,默认为 100,表示与上次 rewrite 的 AOF 文件大小相比,当前 AOF 文件增长量超过上次 AOF 文件大小的 100% 时,就会触发 background rewrite。若配置为 0,则会禁用自动 rewrite。

auto-aof-rewrite-percentage 100

触发 rewrite 的AOF文件大小。若AOF文件小于该值,即使当前文件的增量比例达到 auto-aof-rewrite-percentage 的配置值,也不会触发自动 rewrite。即这两个配置项同时满足时,才会触发rewrite。

auto-aof-rewrite-min-size 64mb

Redis 在恢复时会忽略最后一条可能存在问题的指令,默认为 yes。即在 AOF 写入时,可能存在指令写错的问题(突然断电、写了一半),这种情况下 yes 会 log 并继续,而 no 会直接恢复失败。

aof-load-truncated yes

三、数据库恢复

定期复制dump.rdb和appendonly.aof,当数据库挂了,或者需要恢复时,停止服务,将这两个文件的其中一个复制到程序目录,启动服务即可,如果数据库文件配置到了其他位置,同理复制过去就行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

花开花落的个人博客

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值