参考资料:Redis Persistence – Redis
这里只是总结一些常见的使用方法,需要详细的信息可以到以上地址
以下用于配置文件redis.conf
save <seconds> <changes>
:在时间内发生了个数据变更,则保存数据快照。stop-writes-on-bgsave-error
:在持久化线程发生错误时是否停止接受客户端写入命令,yes
停止接受,no
继续写入。rdbcompression
:是否对rdb进行压缩,yes
启用,no
不启用,这将节省一部分CPU资源。rdbchecksum
:是否对rdb文件启动CRC64校验,yes
启用,添加CRC64校验到文件末尾,文件更不容易损坏,但是会损失一部分的性能,大约10%。no
不启用,将节省一部分性能开销。dbfilename
:rdb文件名称dir
:设置rdb文件存储目录fork()
, 拥有父进程和子进程redis-check-aof
工具修复。以下配置适用redis.conf
appendonly
:配置开启AOF,yes
开启,no
不开启appendfilename
:配置AOF文件名称appendfsync
:fsync策略配置no-appendfsync-on-rewrite
:配置BGSAVE或BGREWRITEAOF进行时,是否使用主进程写AOFauto-aof-rewrite-percentage
:AOF重写比例,设置0禁用重写功能auto-aof-rewrite-min-size
:AOF重写文件最小大小aof-load-truncated
:设置在redis服务启动时,AOF文件不完整时动作aof-use-rdb-preamble
:配置重写AOF时是否使用RDB同步码重写AOF每次命令追加到AOF文件,这将非常慢,但是安全
每一秒追加到AOF文件,已经足够快,如果发生故障,仅损失1秒的数据
不控制,由操作系统控制,更快,更不安全
随着命令的不断写入,AOF文件越来越大,Redis自动触发或者接受到BGREWRITEAOF指令,Redis会启动AOF文件重写,重写的目的是减小AOF文件,在不打断服务客户端的情况下重写。
fork()
,同时拥有父进程和子进程。Redis服务重新启动时,将优先是用AOF文件重建数据集,应为他是最完整的。
备份.rdb文件
将此备份转移到安全的地方
执行以下命令
检查数据库中key的数量是否相同
检查AOF文件是否正常生成并追加
redis-cli config set appendonly yes
#该命令用与开启AOF,Redis会阻塞知道初始AOF文件创建完成,之后Redis继续处理命令,并将命令写入AOF文件末尾
redis-cli config set save ""
#该命令用与关闭RDB,不关闭,则保持RDB和AOF同时运行