VS
爱可生研发中心工程师,负责项目的需求与维护工作。其他身份:柯基铲屎官。
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
1. fork一个子进程,创建子进程时并不会发生数据复制,提高了复制速度降低了所需空间大小(内核级的系统调用:fork());
2. 子进程获得所有数据指向地址的指针;
3. 此时如有数据继续增加则触发写时复制,父进程指向新值地址,子进程依旧指向原值地址(COW(copy-on-write 写时复制));
4. 将指针指向的值写入备份;
5. 备份完成;
配置项 | 说明 |
---|---|
save | N秒内,或有M次改动时保存(触发的是BGSAVE异步执行) |
stop-writes-on-bgsave-error | 快照出错时是否禁止写入操作 |
rdbcompression | 是否压缩RDB文件 |
rdbchecksum | 是否开启RC64校验 |
dbfilenameRDB | 文件保存名称 |
dirRDB | 文件保存目录 |
下面列举一段 AOF 文件内容进行说明:
# 假设此时客户端执行了语句SET KEY VALUE,则AOF内容如下
*3
$3
SET
$3
KEY
$5
VALUE
上述内容中,看似比较杂乱,但理解一下其实很简单:
*表示跳过$行时,往下一次读几行;
$表示下一行有多少个字符。
BGREWRITEAOF「异步执行」(重写AOF文件)。
配置项 | 说明 |
---|---|
appendonly | 是否开启AOF |
AOFappendfilename | AOF文件名 |
appendfsync | AOF持久化策略 |
no-appendfsync-on-rewrite | 在写入时是否对新记录暂缓追加 |
auto-aof-rewrite-percentage | AOF文件增长比例 |
auto-aof-rewrite-min-size | 文件重写文件大小 |
aof-load-truncated | 是否末尾异常的AOF文件 |
aof-use-rdb-preamble | 是否使用RDB-AOF混合持久化模式(4.0版本之后) 在开启了这个功能之后,AOF重写产生的文件将同时包含RDB格式的内容和AOF格式的内容,其中RDB格式的内容用于记录已有的数据,而AOF格式的内存则用于记录最近发生了变化的数据,这样Redis就可以同时兼有RDB持久化和AOF持久化的优点(既能够快速地生成重写文件,也能够在出现问题时,快速地载入数据)发生重写之后才能变成混合体 |
1. 定时备份AOF文件;
本文关键字:#Redis持久化# #Redis备份与恢复#
文章推荐:
OceanBase Proxy 无法连接 OBserver 集群
技术分享 | TiUP工具 - TiDB集群滚动升级核心流程解析
年前最后一波啦
钱“兔”似锦,好事成“兔”
特赠大家爱可生微信红包封面
共两款,喜欢哪款特别带走
A款
B款
VS
中意哪款,长按识别对应的二维码领取哦
本喵雍正