保存文件名:dump.rdb
命令:
save 60 1000
# 60秒内有至少有1000个键被改动则自动保存一次数据集
运作方式:
保存文件名:dump.rdbappendonly.aof
命令
开启:
#配置文件
appendonly yes
重写:在不打断服务客户端的情况下, 对 AOF 文件进行重建(rebuild)
重写后的新 AOF 文件包含了恢复当前数据集所需的最小命令集合
创建新AOF时,新命令追加到旧AOF
新AOF文件创建完毕,Redis 就会从旧 AOF 文件切换到新 AOF 文件,并开始对新 AOF 文件进行追加操作
即使重写过程中发生停机,现有的 AOF 文件也不会丢失
$BGREWRITEAOF
运作方式:
redis-check-aof
也可以修复。开启redis.conf中的AOF功能
为最新的 dump.rdb
文件创建一个备份,将备份放到一个安全的地方
执行以下两条命令
redis-cli> CONFIG SET appendonly yes
# 开启AOF,Redis阻塞,直到初始AOF文件创建完成,之后命令请求追加到AOF文件
redis-cli> CONFIG SET save ""
# 关闭RDB功能,也可以不关闭同时使用
官方建议策略创建定时任务脚本:
出错情况
服务器可能在程序正在对 AOF 文件进行写入时停机, 如果停机造成了 AOF 文件出错, 那么 Redis 在重启时会拒绝载入这个 AOF 文件, 从而确保数据的一致性不会被破坏。
解决方法
为现有的 AOF 文件创建一个备份
使用 Redis 附带的 redis-check-aof
程序,对原来的 AOF 文件进行修复
$cp appendonly.aof appendonly.aof.bak
$redis-check-aof --fix appendonly.aof
使用 diff -u
对比修复后的 AOF 文件和原始 AOF 文件的备份
重启 Redis 服务器
原文:https://www.cnblogs.com/yangjunh/p/redis-persistence.html