美文网首页
redis 持久化策略

redis 持久化策略

作者: vckah | 来源:发表于2018-06-28 15:12 被阅读0次

redis 持久化策略主要包括两种:rdb(Redis DataBase)AOF(Append-only file)
以下是个人理解:

  • rdb
    在指定的时间间隔内将内存的数据集快照写入到磁盘,恢复时直接将文件读到内存
    默认配置:
save 900 1        900 秒 1 个修改
save 300 10      300 秒 10 个修改
save 60 10000    60秒 10000个修改

优点:速度快,适合大规模的数据恢复,对数据完整性和一致性要求不高
缺点:最后一次保存时,数据丢失风险很大。需要经常 fork 子进程来保存数据集到硬盘上,当数据集很大时,那么十分耗时

  • AOF
    以日志形式来记录每个 操作,下次恢复时执行这个 写 文件。
    有三种模式来写
# appendfsync always    一有写动作就追加
appendfsync everysec    间隔 1 秒就追加,默认
# appendfsync no    暂缓文件同步
#aof文件rewrite触发的最小文件尺寸(mb,gb),只有大于此aof文件大于此尺寸是才会触发rewrite,
auto-aof-rewrite-min-size 64mb  
#相对于“上一次”rewrite,本次rewrite触发时aof文件应该增长的百分比
auto-aof-rewrite-percentage 100  

优点:保持更高的数据完整性,如果设置追加的时间是 1s ,那么最多损失 1s 的数据。
缺点:AOF 文件很大时,恢复速度较慢。
AOF 有重写机制,采用文件追加方式,当 AOF 文件大小超过设定的阈值时,会启动 AOF 文件的内容压缩,只保留可以恢复数据的最小指令集。这时也是 fork 一个子进程来完成操作

  • 两者比较
    同时开启的话,那么会先加载 AOF 文件,当 AOF 文件有错误的时候,redis 不会启动。可以使用
    redis-check-aof --fix appendonly.aof 来恢复 aof 文件,同理也可以恢复 rdb 文件

相关文章

网友评论

      本文标题:redis 持久化策略

      本文链接:https://www.haomeiwen.com/subject/hevgyftx.html