redis持久化
- rdb
- aof
特点:
- 固定时间或者固定的时间间隔来记录
- 子进程fork主线程,和主进程共享内存
- 主线程继续维持数据,子线程同步临时数据+共享数据到rdb中
- 同步时间一般比较长
缺点:
- 第四步可能出现停电导致最后一次的数据没有更新到正式环境
- 正式的rdb = 临时rdb文件 + 共享内存的数据
append only file,独立日志的方式记录命令(写操作),文件可能比较大,同步评率有如下选择
- appendfSync always|everySec
选择经常,或者每秒,但是同步会消耗磁盘,降低速度,但是丢失的数据量可能比较少
优点:
- 每次修改都同步,文件的完整性更好
- 每秒同步一次,可能会丢失一秒的数据
- 从不同步,效率最高
缺点:
- 文件大
- 运行效率比较低
优化: 命令重写,避免对相同的数据操作重复。
方案
aof的优先级 > rdb.
两种方式都采用,数据比较重要的用aof,分数据库采用rdb