快照 RDB
-
save:会阻塞当前Redis服务器,直到持久化完成,线上应该禁止使用。明确时间点,关机维护。
-
bgsave:fork一个子进程,由子进程负责持久化过程,父进程发生写操作修改内存数据时(Copy On Write),才会真正去分配内存空间,并复制内存数据,而且也只是复制被修改的内存页中的数据,并不是全部内存数据;
- 管道
1.衔接,前一个命令的输出作为后一个命令的输入;
2.管道会创建子进程;
$$优先级高于 | ,在创建进程之前,被进程号替换;
$BASHPID优先级低于 |,所以在创建进程后被替换,所以每次进程号都不一致; - 父进程和子进程
1.常规操作,父子进程之间的数据隔离;
2.export设置环境变量,子进程可以看到父进程的数据,并且父子进程对数据修改后,对应的父子进程数据不会改变。
- 管道
-
RDB过程容易丢失一段时间数据,并且只有一个dump.rdb文件。
追加文件 AOF
- appendfilename appendonly.aof # aof文件名
- appendonly yes #打开AOF 默认关闭
- appendfsync always # 每个操作都写到磁盘中
- appendfsync everysec # 每秒写一次磁盘,默认,会丢失一秒数据
- appendfsync no # 由操作系统决定写入磁盘的时机,会丢失一个buffer的数据
- auto-aof-rewrite-percentage 100 # 百分比
- auto-aof-rewrite-min-size 64mb # 大小
- no-appendfsync-on-rewirete no # 重写aof文件时是否执行同步操作
- aof-use-rdb-preamble yes #RDB AOF 混合开启