redis的持久化RDB、fork、copyonwrite、AOF、RDB&AOF混合使用
RDB、AOF
redis 持久化有两种方式
RDB 快照:性能上稍微好一些。
快照方式,即设定多久进行一次数据快照。
恢复数据比AOF快,但是丢失的数据会比AOF方式要多。文件提交比AOF小。数据集大的时候,会让redis的性能低于AOF方式
RDB bgsave规则:
save 900 1
save 300 10
save 60 10000
只会保存一个dump.rdb。所以需要人工去考虑备份rdb文件。
AOF 文件:安全系数较高
aof:每次的操作都会进行记录。
fsync策略:无fsync,每秒fsync,每次写的时候fsync。默认每秒fsync策略。最多丢失1秒的数据。
在一般情况下, 每秒 fsync 的性能依然非常高, 而关闭 fsync 可以让 AOF 的速度和 RDB 一样快。但是会不安全。
AOF和RDB都会需要fork 子进程来进行进行保存,写时复制。Redis 执行 fork() ,同时拥有父进程和子进程。
可以同时开启RDB和AOF两种方式,也可以只选择一种。恢复的时候,如果开启了两种方式,只需要恢复AOF就可以了。