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() ,同时拥有父进程和子进程。

redis的持久化RDB、fork、copyonwrite、AOF、RDB&AOF混合使用

 

可以同时开启RDB和AOF两种方式,也可以只选择一种。恢复的时候,如果开启了两种方式,只需要恢复AOF就可以了。

redis的持久化RDB、fork、copyonwrite、AOF、RDB&AOF混合使用